两种方法: (1)直接使用Fortran代码编译出来的obj文件进行链接。使用IVF(Intel Visual Fortran Compiler)进行编译得到obj文件,在VC2008中进行加入其link即可,如test1.obj。 (2)在Fortran函数声明中加入DLLEXPORT项,令其成为导出函数,在VC2008加入test1.lib的link即可。注意不管Fortran中是subroutine还是function,都要加入形参类型的声明,方可导出: double precision function addF(x, y) !DLLEXPORT选项 !DEC$ ATTRIBUTES DLLEXPORT, STDCALL:: addF !形参类型声明 double precision x, y addF = 2 return end function addF 不管上述哪种方法,最后注意在VC2008中调用函数前进行声明,如: extern "C" double __stdcall addf(double x, double y); 如果还有不清晰的地方,请用google搜索文章《基于VS2008 和IVF11 的C/C++和Fortran 混合编程》,内有详细介绍。

评论