首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
物联网/工业互联网
›
物联网
›
什么时候用C而不消C++?
返回列表
发新帖
什么时候用C而不消C++?
[复制链接]
发表于 2024-6-22 12:59:19
|
显示全部楼层
|
阅读模式
做接口只用C,千万别要C++。C++是编译器敏感的,一旦导出的接口里有 std::string这些东西,以及类,注定了要为各个编译器的各个
版本
准备独立的库。
刚好我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,
点个关注在批评区回复“888”之后私信回复“888”,全部无偿共享给各人!!!
一般来说,只要接口(如DLL导出的函数)是C的,那在同一个OS下的几乎所有语言都可以调用这个库。因此,许多现代的
软件库
,哪怕本身是用了一堆C++甚至
boost开辟
的,都要额外的提供C语言的接口。
C++如何变成C的接口?最简朴的就是
句柄化
。用void *替代对象的指针,而后用C语言封装所有的接口。要使用一个C++对象,就先create handle,内部调用new class,返回void *。而后,把class的所有方法都变成 class_callXXX(handle,...)的情势,把this指针通过handle传进去。固然这些函数可以设置为
友元
,会方便许多。固然用完后再销毁句柄。
至于COM、CORBA之类的抽象OO,都太复杂了。C的接口照旧返璞归真。典型的比如 libuhd、 librdkafka等库,都是如许做的。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
张裕
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表