C_FUNLOC — Obtain the C address of a procedure#
-
C_FUNLOC(x)#
C_FUNLOC(x)
determines the C address of the argument.- Parameters:
x – Interoperable function or pointer to such function.
- Returns:
The return value is of type
C_FUNPTR
and contains the C address of the argument.
- Standard:
Fortran 2003 and later
- Class:
Inquiry function
- Syntax:
RESULT = C_FUNLOC(x)
- Example:
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 main 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 main
- See also:
C_ASSOCIATED — Status of a C pointer, C_LOC — Obtain the C address of an object, C_F_POINTER — Convert C into Fortran pointer, C_F_PROCPOINTER — Convert C into Fortran procedure pointer