Spec-Zone.ru › GNU Fortran 14

8.55 C_FUNLOC — Получение C-адреса процедуры

Описание:

C_FUNLOC(x) определяет C-адрес аргумента.

Стандарт:

Fortran 2003 и более поздние версии

Класс:

Функция запроса

Синтаксис:

RESULT = C_FUNLOC(x)

Аргументы:
x Интерфейсная функция или указатель на такую функцию.
Значение возврата:

Значение возврата имеет тип C_FUNPTR и содержит C-адрес аргумента.

Пример:
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
См. также:

C_ASSOCIATED — Статус C-указателя, C_LOC — Получение C-адреса объекта, C_F_POINTER — Преобразование C в Fortran-указатель, C_F_PROCPOINTER — Преобразование C в Fortran-указатель на процедуру

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/C_005fFUNLOC.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API