Spec-Zone.ru › GNU Fortran 9

2.10 Варианты взаимодействия с другими языками

-fc-prototypes

Этот параметр сгенерирует прототипы на C из объявлений переменных, типов и интерфейсов процедур BIND(C), а затем запишет их в стандартный вывод. ENUM пока не поддерживается.

Для сгенерированных прототипов может потребоваться включение соответствующего заголовка, такого как <stdint.h> или <stdlib.h>. Для типов, не указанных с использованием соответствующего типа из модуля iso_c_binding, в код будет добавлено предупреждение в виде комментария.

Для указателей на функции будет сгенерирован указатель на функцию, возвращающую int без явного списка аргументов.

Пример использования:

$ gfortran -fc-prototypes -fsyntax-only foo.f90 > foo.h

где код на C, предназначенный для взаимодействия с кодом Fortran, затем использует #include "foo.h".

-fc-prototypes-external

Этот параметр сгенерирует прототипы на C из внешних функций и подпрограмм и запишет их в стандартный вывод. Это может быть полезно для проверки правильности связей C с кодом Fortran. Этот параметр не генерирует прототипы для BIND(C) процедур, используйте -fc-prototypes для этого.

Для сгенерированных прототипов может потребоваться включение соответствующего заголовка, такого как <stdint.h> или <stdlib.h>.

Это в первую очередь предназначено для устаревшего кода, чтобы гарантировать, что существующие связи C соответствуют тому, что gfortran выдает. Сгенерированные C-прототипы должны быть правильными для текущей версии компилятора, но могут не соответствовать потребностям других компиляторов или более ранних версий gfortran. Для новых разработок рекомендуется использовать возможности BIND(C).

Пример использования:

$ gfortran -fc-prototypes-external -fsyntax-only foo.f > foo.h

где код на C, предназначенный для взаимодействия с кодом Fortran, затем использует #include "foo.h".

Далее: Переменные окружения, Предыдущее: Параметры генерации кода, Вверх: Вызов GNU Fortran [Оглавление][Индекс]

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

Spec-Zone.ru

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