C/C++/Fortran 混合编程浅谈(一)直接链接方式 现今流行很多编程语言,在编译型语言中,C/C++/Fortran 语言应用非常广泛,C 以其效率高效底层操作为著称,C++以其很好的面向对象类框架泛型编程为特点,Fortran 则以现世存有大量的计算程序而占有重要的位置,在编程中,集合他们三者的长处是个很好的做法
混合编程有很多方法,以下介绍一下基本方法
对于各个编译器,如果编译中间的二进制文件
obj 的结构相同,则可以直接链接混合编程
遵循约定:C/C++默认传值,Fortran 传址
一、相同编译器家族 以gcc 家族为例,类似的还有Intel C Compiler 和 Intel Fortran Compiler 等
1、C 和 Fortran (1)C 调用Fortran main
c #include void sub_fortran_(int *,float *,double *); double function_fortran_(double *); int main() { int num_int; float num_float; double num_double; double num; num_int=3; num_float=5
0; sub_fortran_(&num_int,&num_float,&num_double); num=function_fortran_(&num_double); printf("num_int=%d\nnum_float=%f\nnum_double=%f\nnum=%f",num_int,num_float,num_double,num); return 0; } sub
f90 subroutine Sub_Fortran(NumInt,NumFloat,NumDouble) i