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()调用的函数进行申明,这样可大大简化混合编程的工作量,且在使用两种语言混合开发项目时,不需要事先考虑跨平台接口。
下一篇:
【9】自定义I/O函数s_gets