centos

CentOS中Fortran如何调用外部函数

小樊
47
2025-08-04 17:46:05
栏目: 智能运维

在CentOS系统中,Fortran可以通过使用iso_c_binding模块来调用外部C函数。以下是一个简单的示例,展示了如何在Fortran代码中调用C函数。

首先,创建一个名为example.c的C文件,包含一个简单的函数:

#include <stdio.h>

void hello_from_c() {
    printf("Hello from C!\n");
}

接下来,使用gcc编译器将C文件编译为共享库:

gcc -fPIC -c example.c -o example.o
gcc -shared -o libexample.so example.o

现在,创建一个名为example.f90的Fortran文件,使用iso_c_binding模块调用C函数:

program call_c_function
    use iso_c_binding, only: c_void
    implicit none

    interface
        subroutine hello_from_c() bind(c, name="hello_from_c")
            import c_void
            ! No arguments and no return value
        end subroutine hello_from_c
    end interface

    call hello_from_c()

end program call_c_function

最后,使用gfortran编译器编译Fortran文件,并链接共享库:

gfortran -o call_c_function example.f90 -L. -lexample -Wl,-rpath,.

现在,可以运行Fortran程序,它将调用C函数并输出"Hello from C!":

./call_c_function

注意:在编译和链接过程中,可能需要根据实际情况调整库文件的路径。

0
看了该问题的人还看了