本帖最后由 lm_lxt 于 2014-1-26 18:19 编辑
19.有人会说C++、C#等语言都能调用Fortran编写的dll文件,而且其他功能丝毫不逊于Tcl。
是的,其实这些语言功能都很强大,如果你掌握的不错的话;如果你只会Fortran,则Tcl这样的语言简单易用,很适合你!说到这里,顺便提一下另一个语言——PureBasic,她同样适合你。
20.PureBasic简单易用,不需要什么恼人的.net fra...,她的IDE很小(约30M!),很轻巧;适合游戏开发。
同时调用Fortran编写的dll文件显得简单而直接,不信你看看:
[Visual Basic] 纯文本查看 复制代码 一、用purebasic调用CVF6.6编译的dll文件
1.用CVF6.6编译下面的fortran程序:
function ARRAYTEST(a,b)
!DEC$ ATTRIBUTES DLLEXPORT:: ARRAYTEST
REAL a,b,ARRAYTEST
ARRAYTEST=a+b
END function ARRAYTEST
2.执行下面的purebasic程序得到结果
a.f = 1.0
b.f = 2.0
PrototypeC.f Arraytest(*a, *b)
If OpenLibrary(0, "dll.dll")
Global Arraytest.Arraytest = GetFunction(0, "_ARRAYTEST@8")
If Arraytest
Debug Arraytest(@a, @b)
EndIf
CloseLibrary(0)
EndIf
二、用purebasic调用gfortran编译的dll文件
1.用gfortran编译下面的fortran程序:
function ARRAYTEST(a,b)
!DEC$ ATTRIBUTES DLLEXPORT:: ARRAYTEST
REAL a,b,ARRAYTEST
ARRAYTEST=a+b
END function ARRAYTEST
2.执行下面的purebasic程序得到结果
a.f = 1.0
b.f = 2.0
PrototypeC.f Arraytest(*a, *b)
If OpenLibrary(0, "dll.dll")
Global Arraytest.Arraytest = GetFunction(0, "arraytest_")
If Arraytest
Debug Arraytest(@a, @b)
EndIf
CloseLibrary(0)
EndIf
|