主题:求助:gfortran如何调用函数
下辈子不当人
[专家分:0] 发布于 2011-09-29 17:38:00
[size=2]如题,gfortran能不能调用IMSL函数库?它有没有自带的?怎么调用?
我的程序是在服务器上运行的,里面有求F分布的p值的过程,在VF下,可以调用IMSL,那用gfortran怎么解决这个问题?总不能需要自己写一个这样的子程序吧?求高手解答!
十分感谢!
回复列表 (共10个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-09-29 17:46:00
寻找替代解决方案吧,gfortran调imsl估计不好整。。。
板凳
dongyuanxun [专家分:7180] 发布于 2011-09-30 00:45:00
关键字:dll,def,导入库,调用约定,编译符号
3 楼
下辈子不当人 [专家分:0] 发布于 2011-09-30 08:52:00
[quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
4 楼
cgl_lgs [专家分:21040] 发布于 2011-09-30 10:09:00
[quote][quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
[/quote]给你了关键字,就可以去各个搜索引擎里找了啊:)
baidu和google都行:)
5 楼
yeg001 [专家分:14390] 发布于 2011-09-30 10:35:00
:)
6 楼
下辈子不当人 [专家分:0] 发布于 2011-09-30 17:05:00
[quote][quote][quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
[/quote]给你了关键字,就可以去各个搜索引擎里找了啊:)
baidu和google都行:)[/quote]
问题是,关键字这么多,而且我都没有见过,搜完以后都搞不懂啊!
7 楼
下辈子不当人 [专家分:0] 发布于 2011-09-30 17:08:00
[quote][quote][quote]关键字:dll,def,导入库,调用约定,编译符号[/quote]
谢谢回复!但是我看不明白,具体怎么用?能举个例子吗?
[/quote]给你了关键字,就可以去各个搜索引擎里找了啊:)
baidu和google都行:)[/quote]
并且,如果使用gfortran调用IMSL不能或者很麻烦的话,那gfortran里有没有这种类似的可以直接调用的函数?不可能都需要自己写吧?
8 楼
cgl_lgs [专家分:21040] 发布于 2011-09-30 17:16:00
去找找相应的资料:
http://www.netlib.org/
到这儿看看吧
9 楼
dongyuanxun [专家分:7180] 发布于 2011-09-30 20:44:00
轻度说一下看看你能懂多少
imsl难道没dll么
造一个def啊,然后就有导出库了
把imsl的mod的f90复制到gfortran的finclude文件夹之类,或者编译时加入-I指定路径
然后就像往常用了啊,use完,链接那个导出库就行了
神马?有链接错误,那就是符号的问题了呗
nm看那个导出库的符号,那你用ISO_C_BINDING强制更改imsl的符号嘛
如果导出符号有@,那就是stdcall调用约定呗。查文档怎么改gcc的调用约定。或者链接时加-Wl,--enable-stdcall-fixup 反正有时有用,有时没用,出现内存非法访问一般都是这个问题。
10 楼
下辈子不当人 [专家分:0] 发布于 2011-10-08 11:37:00
[quote]去找找相应的资料:
http://www.netlib.org/
到这儿看看吧[/quote]
谢谢指引!埋头学习~~~
我来回复