MIXED_STR_LEN_ARG с gfortran

У меня есть программа на смешанном C++/Fortran, в которой символ C++ задается в качестве аргумента для функции Fortran.

Код компилируется и работает с компилятором ifort, используя опцию -mixed_str_len_arg, которая указывает позицию скрытой длины для символьных аргументов (см. https://software.intel.com/en-us/node/525960).

По какой-то причине я хочу скомпилировать код с помощью gfortran, но не нашел эквивалентного варианта с этим компилятором. Вы знаете о подобном варианте или другой альтернативе?


person R. Gx    schedule 15.07.2016    source источник


Ответы (1)


Нет такого флага. Соглашения о вызовах фиксированы и точно указаны в руководстве https://gcc.gnu.org/onlinedocs/gfortran/Argument-passing-conventions.html

Если вы взаимодействуете между C (++) и Fortran. лучше использовать современные возможности взаимодействия. Процедуры Fortran bind(C) не имеют скрытых аргументов, и вы можете определить функцию именно так, как вам нужно.

person Vladimir F    schedule 15.07.2016
comment
Я подозреваю, что тщательный поиск SO приведет к вопросам и ответам, которые помогут OP в реализации этого взаимодействия. Не то, на что у меня сейчас есть время. - person High Performance Mark; 15.07.2016
comment
Спасибо за ваш ответ, Владимир Ф. Я хотел избежать модификации (старого) кода на фортране и поэтому использовал процедуру bind(C). Но, похоже, нет никакого поворота. - person R. Gx; 15.07.2016