优化代码的时候其实Fortran是一种很玄学的东西,曾今po主因为交换了毫无依赖的三层循环而导致了整个代码结果全错,直到后来发现了神器:Fortran和C/C++混编的方法
Fortran calling c/cpp
Fortran 与 C/C++的混编的基础知识以及演示可以在如下网站查看:
http://www.yolinux.com/TUTORIALS/LinuxTutorialMixingFortranAndC.html
几点tips:
1、编译方法为fortran 和 C/CPP源码单独编译:
ifort -c testF.F
icc -c testC.c
ifort -o test testF.o testC.o
2、fortran 不区分大小写,因此c中对应的函数名全部使用小写,并且加上下划线
3、使用CPP的函数时,最后一步用fortran link的时候会出现找不到Cpp的函数的问题,需要添加申明:
#ifdef __cplusplus
extern “C” void {
#