回 帖 发 新 帖 刷新版面

主题:求助:gfortran如何调用函数

[size=2]如题,gfortran能不能调用IMSL函数库?它有没有自带的?怎么调用?
我的程序是在服务器上运行的,里面有求F分布的p值的过程,在VF下,可以调用IMSL,那用gfortran怎么解决这个问题?总不能需要自己写一个这样的子程序吧?求高手解答!
十分感谢!

回复列表 (共10个回复)

沙发

寻找替代解决方案吧,gfortran调imsl估计不好整。。。

板凳

关键字:dll,def,导入库,调用约定,编译符号

3 楼

[quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?

4 楼

[quote][quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
[/quote]给你了关键字,就可以去各个搜索引擎里找了啊:)
baidu和google都行:)

5 楼

:)

6 楼

[quote][quote][quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
[/quote]给你了关键字,就可以去各个搜索引擎里找了啊:)
baidu和google都行:)[/quote]
问题是,关键字这么多,而且我都没有见过,搜完以后都搞不懂啊!

7 楼

[quote][quote][quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
[/quote]给你了关键字,就可以去各个搜索引擎里找了啊:)
baidu和google都行:)[/quote]
并且,如果使用gfortran调用IMSL不能或者很麻烦的话,那gfortran里有没有这种类似的可以直接调用的函数?不可能都需要自己写吧?

8 楼

去找找相应的资料:
http://www.netlib.org/
到这儿看看吧

9 楼

轻度说一下看看你能懂多少

imsl难道没dll么

造一个def啊,然后就有导出库了

把imsl的mod的f90复制到gfortran的finclude文件夹之类,或者编译时加入-I指定路径

然后就像往常用了啊,use完,链接那个导出库就行了

神马?有链接错误,那就是符号的问题了呗
nm看那个导出库的符号,那你用ISO_C_BINDING强制更改imsl的符号嘛
如果导出符号有@,那就是stdcall调用约定呗。查文档怎么改gcc的调用约定。或者链接时加-Wl,--enable-stdcall-fixup  反正有时有用,有时没用,出现内存非法访问一般都是这个问题。

10 楼

[quote]去找找相应的资料:
http://www.netlib.org/
到这儿看看吧[/quote]
谢谢指引!埋头学习~~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册