C_FUNLOC(3) - [ISO_C_BINDING] Obtain the C address of a procedure
result = c_funloc(x)
C_FUNLOC(3) determines the C address of the argument.
o X : Interoperable function or pointer to such function.
The return value is of type c_funptr and contains the C address of the argument.
Sample program:
! program demo_c_funloc and module module x use iso_c_binding implicit none contains subroutine sub(a) bind(c) real(c_float) :: a a = sqrt(a)+5.0 end subroutine sub end module x ! program demo_c_funloc use iso_c_binding use x implicit none interface subroutine my_routine(p) bind(c,name=myC_func) import :: c_funptr type(c_funptr), intent(in) :: p end subroutine end interface call my_routine(c_funloc(sub)) ! end program demo_c_funloc
Fortran 2003
C_ASSOCIATED(3), C_LOC(3), C_F_POINTER(3),
C_F_PROCPOINTER(3), ISO_C_BINDING(3)
Fortran intrinsic descriptions
Nemo Release 3.1 | c_funloc (3fortran) | November 02, 2024 |