Многие альтернативные интерфейсы Fortran для одной функции C с iso_c_bindings

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

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


person Jakub Narębski    schedule 21.03.2012    source источник


Ответы (1)


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

person Francois Jacq    schedule 21.03.2012
comment
Знаете ли вы, реализует ли GCC эту часть спецификации F2008, и если да, то из какой версии? TIA - person Jakub Narębski; 22.03.2012