你试一下我这个例子。
Fortran的dll:
[Fortran] 纯文本查看 复制代码 subroutine suba(a,b,c)
!DEC$ ATTRIBUTES stdcall,DLLEXPORT ::suba
!DEC$ ATTRIBUTES ALIAS:"suba"::suba
!DEC$ ATTRIBUTES reference :: a,b,c
implicit none
real::a
real::b
real::c
c=a+b
end subroutine
vb6.0的代码:
[Visual Basic] 纯文本查看 复制代码 Private Declare Sub suba Lib "D:\try_for\try_vb\c_dll\Dll1\Dll1\Debug\Dll1.dll" (ByRef a As Single, ByRef b As Single, ByRef c As Single)
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
Dim c As Single
a = 1#
b = 2#
Call suba(a, b, c)
Text1.Text = c
End Sub
运行结果如下图:
|