Fortran文件area.f90
function Area_Circle( ) bind(c)
use, intrinsic :: iso_c_binding
implicit none
real(c_double), intent(in): :r
real(c_double):: Area_Circle
real(c_double), parameter :: pi=acos(-1.d0)
area_circle=pi*r*r
end function
C 语言主程序main.c
#include <stdio.h>
extern double area_circle(double *r);
int main(int argc, char **argv){
double r;
printf("Enter the radius\n");
scanf("%lf", &r);
printf("The area is %lf\n", area_circle(&r));
return 0;
}
3.编译和运行
gcc -o app main.c area.f90 -lgfortran
编译之前需要设置我的电脑系统环境变量,见上图。