У меня есть программа на смешанном C ++ / Fortran, в которой символ C ++ задается в качестве аргумента для функции Fortran.
Код компилируется и работает с ifort компилятор, используя опцию -mixed_str_len_arg
, который указывает позицию скрытой длины для символьных аргументов (см. https://software.intel.com/en-us/node/525960).
По какой-то причине я хочу скомпилировать код, используя gfortran, но не нашел никакой эквивалентной опции с этим компилятором. Вы знаете о подобном варианте или другой альтернативе?
Нет такого флага в наличии. Соглашения о вызовах являются фиксированными и точно указаны в руководстве https://gcc.gnu.org/onlinedocs/gfortran/Argument-passing-conventions.html
Если вы взаимодействуете между C (++) и Fortran. Лучше использовать современные возможности взаимодействия. Фортран bind(C)
процедуры не имеют скрытых аргументов, и вы можете определить функцию именно так, как вам нужно.
Других решений пока нет …