有的时候可能要从C++调用fortran函数,因此,这里实验使用g++和gfortran来一起完成一个程序。使用C++调用fortran程序。
第一步:编写fortran函数
1 subroutine forsub(ivar,rvar)
2 integer ivar
3 real rvar
4 write(*,*)ivar,rvar
5 end
第二步:编写C++主函数
1 #include <iostream>
2 extern "C" {
3 void forsub_(int &i,float &f);
4 }
5 int main()
6 {
7 int a = 3;
8 float b = 2.0;
9 forsub_(a,b);
10 return 0;
11 }
第三步:编译
$ gfortran -c sub.f90
$ g++ -c main.cpp
$ g++ sub.o main.o -lgfortran
$ ./a.out
就可以看到调用成功。
Fedora13下编译通过
uname -a 输出为:
Linux 主机名 2.6.34.7-56.fc13.i686 #1 SMP Wed Sep 15 03:33:58 UTC 2010 i686 i686 i386 GNU/Linux
https://blog.sciencenet.cn/blog-290274-370629.html
上一篇:
ubuntu10.04黑屏下一篇:
中科院地理资源与科学研究所毕业论文latex模板