MIXED_STR_LEN_ARG 与 gfortran
Posted
技术标签:
【中文标题】MIXED_STR_LEN_ARG 与 gfortran【英文标题】:MIXED_STR_LEN_ARG with gfortran 【发布时间】:2016-07-15 08:11:44 【问题描述】:我有一个混合 C++/Fortran 的程序,其中一个 C++ 字符作为 Fortran 函数的参数给出。
代码正在编译并使用 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)
过程没有任何隐藏参数,您可以根据需要完全定义函数。
【讨论】:
我怀疑仔细搜索 SO 会出现 Q 和 A 来指导 OP 实施这种交互。我现在没有时间。 感谢您的回复 Vladimir F,我想避免修改(旧)fortran 代码,因此使用 bind(C) 过程。但看起来没有转机。以上是关于MIXED_STR_LEN_ARG 与 gfortran的主要内容,如果未能解决你的问题,请参考以下文章
gfortran 不适用于 Mac OS X 10.9(小牛)