在Ubuntu中,Fortran可以通過使用ISO C Binding來調用C語言函數。以下是一個簡單的示例,展示了如何在Fortran代碼中調用C語言函數。
首先,創建一個C語言源文件(例如example.c
),并包含一個簡單的函數:
#include <stdio.h>
void hello_from_c() {
printf("Hello from C!\n");
}
接下來,創建一個Fortran源文件(例如example.f90
),并使用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
end subroutine hello_from_c
end interface
! 調用C函數
call hello_from_c()
end program call_c_function
在這個例子中,我們使用bind(c, name="hello_from_c")
來指定C函數的名稱,以便Fortran代碼可以正確地找到并調用它。
現在,編譯C和Fortran源文件,并將它們鏈接在一起。在終端中,運行以下命令:
gfortran -c example.c
gfortran -c example.f90
gfortran example.o -o example
這將生成一個名為example
的可執行文件。運行它,你將看到以下輸出:
Hello from C!
這就是在Ubuntu中使用Fortran調用C語言函數的方法。請注意,這個例子中的C函數沒有參數和返回值。如果你需要傳遞參數或處理返回值,你需要在Fortran接口塊中相應地聲明它們。