具有C接口的C ++库

具有C接口的C ++库,第1张

具有C接口的C ++库

您可以在C包装程序中使用PIMPL习惯用法。您提供了一个

YourClass_Create
内部调用构造函数的方法(使用
new
),并返回指向您的类实例的指针;客户端代码,这将只是一个不透明的句柄(也可能是
typedef
void*
),要传递给你的C接口的每个函数指定在其实例有工作(就像
FILE *
stdio
)。

所有这些功能所要做的就是调用句柄上的相应方法(转换回指向您的类的指针)并将异常转换为错误代码。


正如 @ jdv-Jan de Vaan 在其评论中指出的那样,请不要忘记C包装代码周围的必要

#ifdef
ed
extern "C"{}
,否则您可能会遇到链接器错误。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5012339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存