用fortran做动态连接库(ff1.dll)
SUBROUTINE Fact(N)
!ms$attributes dllexport ::Fact
integer *4 N [VALUE]
write(*,*)N
end SUBROUTINE Xctx(F1)
!ms$attributes dllexport ::Xctx
character F1 [VALUE]
write(*,*)F1
end,然后在vc中调用,对于数值型参数可以通过
hLibrary=LoadLibrary("ff1.dll");
GetProcAddress(hLibrary,"_FACT@4")找到(其中fact是我在fortran中定义的函数,4表示其参数为4字节),可当参数为字符型时GetProcAddress(hLibrary,"_Xctx@1"),用上面的方法就不行了,总是无法找到*.dll中的那个处理字符型参数函数,不知有没有这方面经验的朋友,希望能给点建议!
SUBROUTINE Fact(N)
!ms$attributes dllexport ::Fact
integer *4 N [VALUE]
write(*,*)N
end SUBROUTINE Xctx(F1)
!ms$attributes dllexport ::Xctx
character F1 [VALUE]
write(*,*)F1
end,然后在vc中调用,对于数值型参数可以通过
hLibrary=LoadLibrary("ff1.dll");
GetProcAddress(hLibrary,"_FACT@4")找到(其中fact是我在fortran中定义的函数,4表示其参数为4字节),可当参数为字符型时GetProcAddress(hLibrary,"_Xctx@1"),用上面的方法就不行了,总是无法找到*.dll中的那个处理字符型参数函数,不知有没有这方面经验的朋友,希望能给点建议!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货