9.54 C_F_PROCPOINTER — Convert C into Fortran procedure pointer
- Description:
-
C_F_PROCPOINTER(CPTR, FPTR)
Assign the target of the C function pointer CPTR to the Fortran procedure pointer FPTR. - Standard:
-
Fortran 2003 and later
- Class:
-
Subroutine
- Syntax:
-
CALL C_F_PROCPOINTER(cptr, fptr)
- Arguments:
-
CPTR scalar of the type C_FUNPTR
. It isINTENT(IN)
.FPTR procedure pointer interoperable with cptr. It is INTENT(OUT)
. - Example:
-
program main use iso_c_binding implicit none abstract interface function func(a) import :: c_float real(c_float), intent(in) :: a real(c_float) :: func end function end interface interface function getIterFunc() bind(c,name="getIterFunc") import :: c_funptr type(c_funptr) :: getIterFunc end function end interface type(c_funptr) :: cfunptr procedure(func), pointer :: myFunc cfunptr = getIterFunc() call c_f_procpointer(cfunptr, myFunc) end program main
- See also:
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/C_005fF_005fPROCPOINTER.html