0

我在混合的C++/Fortran中,程序,其中一个C++字符作为参数用于Fortran函数。MIXED_STR_LEN_ARG与gfortran

的代码被编译和与工作ifort编译器,使用选项-mixed_str_len_arg,它指定了隐藏的长度为字符的参数的位置(参见https://software.intel.com/en-us/node/525960)。

出于某种原因,我想编译代码使用gfortran,但没有找到任何与此编译器等效的选项。你是否知道类似的选择或其他选择?

回答

1

没有可用的这样的标志。调用约定是固定的,在手动https://gcc.gnu.org/onlinedocs/gfortran/Argument-passing-conventions.html

如果C(++)和Fortran之间相互作用恰好指定。最好使用现代的互操作性功能。 Fortran bind(C)过程没有任何隐藏参数,您可以根据需要定义该功能。

+0

我怀疑如此的接近搜索将一个Q和A指导OP在实施这种相互作用。不是我现在有时间。您的回复弗拉基米尔˚F –

+0

谢谢,我想避免修改(旧)Fortran代码,因此使用BIND(C)过程。但看起来没有转机。 –