Множество альтернативных интерфейсов Fortran для одной функции C с iso_c_bindings - PullRequest
1 голос
/ 21 марта 2012

Можно ли сгенерировать более одного интерфейса Fortran 2003 для одной функции / процедуры C с использованием встроенного модуля iso_c_bindings?

Я хотел бы иметь альтернативные интерфейсы для ситуации, когда параметры типов C неточно совпадают с Fortran, например, *float в C может быть массивом, ссылкой на одну переменную или указателем (C_PTR_NUL).

1 Ответ

4 голосов
/ 22 марта 2012

Компилятор F2003 может пожаловаться, если обнаружит, что одна и та же процедура C имеет два разных интерфейса. Для этого вам нужен компилятор F2008 (это правило было ослаблено). Это было предметом обсуждения на comp.lang.fortran несколько месяцев назад. Я не нахожу нужную тему, но в следующей также упоминается проблема:

http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/b1e8c8d0af9d16e8/bda981c3c4dddc97?lnk=gst&q=iso_c_binding#bda981c3c4dddc97

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...