gpt4 book ai didi

c++ - 使用 Fortran 调用 C++ 函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:02 27 4
gpt4 key购买 nike

我正在尝试获取一些 FORTRAN 代码来调用我编写的几个 c++ 函数(c_tabs_ 是其中之一)。只要我调用不属于某个类的函数,链接和一切工作正常。

我的问题是我希望 FORTRAN 代码调用的函数属于一个类。我使用 nm 查看了符号表,函数名称是这样丑陋的:

00000000 T _ZN9Interface7c_tabs_Ev

FORTRAN 不允许我用那个名字调用函数,因为开头有下划线,所以我不知所措。

当 c_tabs 不在类中时,它的符号非常简单,FORTRAN 没有问题:

00000030 T c_tabs_

有什么建议吗?提前致谢。

最佳答案

名称已被破坏,这是 C++ 编译器对函数所做的,以允许函数重载和类型安全链接等操作。坦率地说,您极不可能能够从 FORTRAN 调用成员函数(因为 FORTRAN 不能创建 C++ 类实例,还有其他原因)——您应该根据 C API 来表达您的接口(interface),它几乎可以从任何地方调用。

关于c++ - 使用 Fortran 调用 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com