C_FUNLOC
— Obtain the C address of a procedureC_FUNLOC(x)
determines the C address of the argument. RESULT = C_FUNLOC(x)
x | Interoperable function or pointer to such function. |
C_FUNPTR
and contains the C address of the argument. 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
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gfortran/C_005fFUNLOC.html