【问题标题】:MIXED_STR_LEN_ARG with gfortranMIXED_STR_LEN_ARG 与 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 编译代码,但没有找到任何与此编译器等效的选项。您是否知道类似的选择或其他替代方案?

【问题讨论】:

    标签: c++ gfortran intel-fortran compiler-options mixed-programming


    【解决方案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) 过程。但看起来没有转机。
    猜你喜欢
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多