主题:关于fortran的dll问题
yycfresh
[专家分:0] 发布于 2010-06-12 09:22:00
各位高手,小弟初来乍到,请教两个关于fortran中dll的两个问题~ 请帮忙!谢谢!
1. 用fortran语言写了一个dll,在另一个项目中如何使用呢(如c中分为隐式和显式调用,fortran中没有头文件,如何实现呢)?
2. 不用dll时有两个f90文件,文件A是module,提供给文件B使用(文件A 中定义的变量,可以在文件B中直接访问)。先希望隐藏文件A的代码,将其做成dll,请问module可以直接作为dll么?文件A中的变量在文件B中仍然可以访问么?
再次感谢!!!
最后更新于:2010-06-12 09:22:00
回复列表 (共7个回复)
沙发
yycfresh [专家分:0] 发布于 2010-06-12 16:00:00
请各位不吝赐教!
ps:问题说的不清楚么?
板凳
yycfresh [专家分:0] 发布于 2010-06-12 18:16:00
还是没有回复,这个问题不值得回答?还是说的不清楚?
再说一遍问题吧:fortran语言如何调用fortran语言写的dll呢?
3 楼
jason388 [专家分:6150] 发布于 2010-06-13 13:13:00
你用的是什么环境?是用gfortran还是cvf?不同环境有区别。
4 楼
jason388 [专家分:6150] 发布于 2010-06-13 13:31:00
如果是gfortran,可以按以下步骤:
对于文件add.f95
integer function add(a,b)
integer a,b
add=a+b
end function add
用gfortran编译成动态库libadd.so:
gfortran -c add.f95 -o add.o
gfortran -shared -o libadd.so add.o
libadd.so可以由main.95调用:
program main
integer a,b,add
a=1
b=2
print*,add(a,b)
end program main
gfortan -o main main.f95 libadd.so
如果是cvf之类需要增加编译指示语句,我忘记了。你自己可以查帮助文件。
5 楼
yycfresh [专家分:0] 发布于 2010-06-13 14:00:00
谢谢这么详细的例子!!
如果是cvf的话,有非命令的形式的么?在集成开发环境中怎么搞呢?
6 楼
缨缨小兔子 [专家分:0] 发布于 2010-06-14 11:34:00
2k中不能不对Fort怀着感激崇敬的心情不禁就想了解真实的他
7 楼
喷泉是天蓝色的 [专家分:30] 发布于 2010-06-14 20:20:00
就是就是这个群体毁灭太可怕了有次用战列舰毁灭了48个部队也有次被电脑毁灭了14个部队从此以后满地图造要塞每次必停在要塞上
我来回复