VB调用C++编写的dll,当函数参数为数组时该如何调用?求大神解答,非常感谢。

dll 中的函数为:
extern "C" _declspec (dllexport) int c_Test(float ax[7],float ax_0[7])

在VB中想调用这个函数,之前写了如下代码总是报错,想知道正确的调用方法,希望大神帮
能指点一下,万分感谢。

Private Declare Function c_Test Lib "c:\collision.dll" (ByRef a() As Single, ByRef a_0() As Single) As Long

Private Sub Command1_Click()
Dim b(7) As Single
Dim b_0(7) As Single
For i = 0 To 7
  b(i) = 1
  b_0(i) = 1
Next i
Label1.Caption = c_Test(b(), b_0())
End Sub

3个回答

也定义成数组,如果是指针,用byref传入

c_test (A,B)或者c_test A,B来使用。
引用dll函数,同样要call 定义时候的名字。

FLOAT AX[7]在VB里对应的是DIM AX(6) AS SINGLE(默认从0开始)
C_TEST(b,b_0)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐