c程序设计:C程序如何使用C++写好的模块
![](/icons/50059yi.gif)
个使用C
![](/icons/50059jiajia.gif)
写好
![](/icons/50059de.gif)
![](/icons/50059chengxu.gif)
![](/icons/50059dou.gif)
c
![](/icons/50059chengxu.gif)
如何使用?
1. 采用 function (args)
![](/icons/50059hanshu.gif)
![](/icons/50059dou2.gif)
Function中利用C
![](/icons/50059jiajia.gif)
类等模块实现相应
![](/icons/50059de.gif)
功能
![](/icons/50059dou2.gif)
但是args中不包含和C
![](/icons/50059jiajia.gif)
模块(类)相关
![](/icons/50059de.gif)
类型
![](/icons/50059dou.gif)
均为C能接受
![](/icons/50059de.gif)
类型
![](/icons/50059dou2.gif)
如果需要返回本来需要vector保存
![](/icons/50059de.gif)
结果
![](/icons/50059dou.gif)
现在用char buff[LEN]保存
2. 定义cFunction(args)接口
![](/icons/50059dou.gif)
和function完全相同
![](/icons/50059dou.gif)
但是需要用C编译器编译
Extern “C” {
Int cFunction ( args ){
![](/icons/50059return.gif)
function ( args ); }
}
3. 将上面所有
![](/icons/50059de.gif)
.cpp文件做成lib库
![](/icons/50059dou2.gif)
Libtest.so
4. 在c文件里面这些写:
Extern
![](/icons/50059int.gif)
cFunction (args) 声明后
![](/icons/50059dou.gif)
即可使用
注意使用libtest.so库
![](/icons/50059dou2.gif)
Gcc xx.c -LXXXX –ltest
5. 每个应用都需要通过1
![](/icons/50059dou.gif)
2来封装接口(暂时没有想到其他办法)
延伸阅读
最新评论