gpt4 book ai didi

C++ API——什么是正确的方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:04 24 4
gpt4 key购买 nike

我必须为 C++ 框架构建一个 API,它可以执行一些模拟操作。我已经使用 __declspec(dllexport) 函数创建了一个新类,并将框架构建为 DLL。这工作正常,我可以在 C# 应用程序中使用该框架。但是是否有其他或更好的方法来使用 C++ 创建 API?

最佳答案

如果您想创建一个 C++-API,从 DLL/共享库导出一组类是可行的方法。许多用 C++ 编写的库决定提供 C 接口(interface),因为纯 C 接口(interface)更容易绑定(bind)到外语。要将外语绑定(bind)到 C++,通常需要 SWIG 等包装器生成器。

C++-API 也有一个问题,即由于 C++ 名称修改,需要使用相同的编译器/链接器来构建框架和应用程序。

重要的是要注意 __declspec(dllexport) - 告诉编译器应该导出类的机制是特定于 Microsoft 编译器的。将其放入预处理器宏以便能够在其他编译器上使用相同的代码是常见的做法:

 #ifdef _MSC_VER 
# define MY_APP_API __declspec(dllexport)
#else
# define MY_APP_API
#endif

class MY_APP_API MyClass {}

关于C++ API——什么是正确的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660048/

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