假设我有一个 C 函数void foo(int* val)
,为此我编写了以下 Fortran C 绑定(我希望符合 F2008 标准):
use, intrinsic :: iso_c_binding
...
subroutine foo(val) bind(c)
integer(kind=c_int), intent(inout) :: val
end subroutine
C 函数的实现通过检查指针来void foo(int* val)
将参数视为可选的。我的问题是:如何设置和/或使用 Fortran C 绑定,使其支持可选,即实际上将空指针传递给 C 函数?val
NULL
subroutine foo(val)
val