[Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode
module mathfunctions_export
use, intrinsic :: iso_c_binding, only: c_float
implicit none
contains
function add(a, b) result(res) bind(c, name="add")
import :: c_float
real(c_float), value :: a, b
real(c_float) :: res
res = a + b
end function add
end module mathfunctions_export
[Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode
program FortranConsole
use, intrinsic :: iso_c_binding, only: c_float ! 如果需要在主程序里也用 c_float
use mathfunctions_export ! use 你要的模块和函数
implicit none
! 本地变量
real(c_float) :: num1, num2, result
integer :: choice
logical :: running =.true.
! 调用 add 函数
num1 = 5.0_c_float ! 注意:如果你用了 c_float,字面量要带 _c_float 后缀
num2 = 3.0_c_float
result = add(num1, num2) ! 直接调用模块里的 add
print *, "Result of addition: ", result
end program FortranConsole