C++调用fortran程序DLL
各位fortran大神好!向您求教一个问题。我想用C++调用已有的fortran程序(生成dll)。我的fortran程序的函数都是在module里面写的,如:fortran里面有MODULE f_gpsmjd,在它里面定义了函数GPSMJD.在生成dll后,不能直接extern "C" {double _stdcallGPSMJD(double ,int); },就是怎么调用module里面的函数呢?非常感谢!
解决了,添加C属性 !DEC$ ATTRIBUTES C, DLLEXPORT :: GPSMJD 论坛“编程工具区”有混编分类,里面有不少帖子
你可以考虑用 ISO_C_Binding 的方式实现,更规范。 啊 还是不对,未解:'( fcode 发表于 2016-11-30 11:43
论坛“编程工具区”有混编分类,里面有不少帖子
你可以考虑用 ISO_C_Binding 的方式实现,更规范。 ...
您好!我现在可以使用显式调用,如GPSMJD gpsmjd= (GPSMJD )GetProcAddress(hLibrary,"f_GPSMJD _mp_GPSMJD ");但还是实现不了常用的隐式方法,我在您所说的模块看到http://bbs.fcode.cn/forum.php?mod=viewthread&tid=1118&extra=page%3D1%26filter%3Dtypeid%26typeid%3D16,但没有找到用C++调用fotran的module里面函数的帖子。 您能否给一个小例子,非常感谢~~ 试试 Bind( C , Name = "f_GPSMJD" )
页:
[1]