gpt4 book ai didi

c++ - 在不使用 extern "C"的情况下从 C 调用 C++ 函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:25 26 4
gpt4 key购买 nike

是否可以从 C 代码调用 C++ DLL 中的函数?该函数未声明 extern "C"。仅适用于 Visual Studio 的丑陋的平台相关 hack 很好。

调用约定不应该是一个主要问题,但我该如何处理名称修改。?例如,在 Visual Studio 中,带有签名 void f() 的 C++ 函数的名称被破坏了 ?f@@YAXXZ,这不是合法的 C 标识符。

(您不需要告诉我应该将 C++ 函数声明为 extern "C"。我已经知道了。但我处于无法更改 C++ 代码的情况。)

最佳答案

将违规函数包装在另一个 C++ 函数中,并使用 extern "C" 声明它。无需为其创建特殊的 DLL,只需在您的项目中包含一个 C++ 文件即可。

关于c++ - 在不使用 extern "C"的情况下从 C 调用 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921420/

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