快捷搜索: 王者荣耀 图灵学院

C++调用Fortran动态库说明

一、 C++直接调用Fortran动态库函数

1.建立Fortran动态库项目

须在Fortran程序文件中添加Compiler Directives语句:

!DEC$ ATTRIBUTES DLLEXPORT::(程序名)

程序示例如下图所示。

2.生成.lib和.dll文件

编译,链接(即生成解决方案)Fortran源代码生成相应的.lib和.dll库文件。

3.编辑并运行C++程序

建立C++控制台项目,项目->属性->链接器->输入->附加依赖项 中加入需要调用的lib文件,然后将.lib文件和.dll文件复制到项目的根目录中(注意:.dll文件需要复制到.exe文件夹,.lib文件通过指定搜索路径来引用)。

二、 C++间接调用Fortran动态库函数

这里间接调用是指,可将Fortran程序TTT()和OUTPUT()封装进一个module中(一中的module只是封装了变量),然后使用一个Fortran子程序mainp()调用封装进module中的子程序,这里子程序mainp()的功能类似于一中C++主程序main(),最后使用C++程序调用mainp()子程序。

与上一节不同的是,由于一中C++主程序直接调用了TTT()和OUTPUT(),所以这两个程序分别要进行外界调用的申明,而间接调用只需要对mainp()申明,无需对mainp()调用的函数进行申明,这样可大大简化混合编程的工作量,且在使用两种语言混合开发项目时,不需要事先考虑跨平台接口。

经验分享 程序员 微信小程序 职场和发展