fortran - 从 fortran 而不是 C 调用 C++ 函数

标签 fortran

是否可以从 FORTRAN 中调用 C++ 函数,例如

#include <iostream.h>
extern "C"
{
    void single_cell(void)
    {
        cout<<"Hi from C++";
    }
}

因此,当我使用 C 时,它工作正常,但使用 C++ 函数时,它会出现如下错误 cout 等的未定义错误

最佳答案

用作链接器的 g++ 和 gfortran 都引入了额外的库。这就是为什么 Fortran/C++ 组合比 Fortran/C 组合更棘手......仅使用正确的编译器作为链接器是行不通的,您需要添加一个库。已经建议与 gfortran 链接并指定 C++ 运行时库。您还可以链接 g++ 并指定 Fortran 运行时库。请参阅Linking fortran and c++ binaries using gcc了解这两种方法的详细信息。

关于fortran - 从 fortran 而不是 C 调用 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7255468/

相关文章:

python - 将 Fortran 二进制文件读入 Python

bash - 在 bash 脚本中使用变量名进行编译

c - 使用 ifort/icc 时未定义对 'main' 的引用

fortran - Fortran 中高效的 z 顺序转换

fortran - 来自ifort编译器的 "floating invalid"的含义

arrays - 使用 Fortran 中的序列初始化数组

ubuntu - 无法在 ubuntu 中打开 fortran 模块

c - fortran 程序的 mtrace

fortran - 使用接口(interface)和可分配的 WORK 数组的 Lapack 例程 SGELS 中出现错误

matrix - Intel Extended Eigensolver(用于稀疏矩阵)极慢