如何在C程序中使用C++中的vector
时间:2011-11-30
来源:互联网
作者: argentina_italy_chin 发布时间: 2011-11-30
不过你可以复制VECTOR的所有代码修改成这样:
vector::push_back(Elem elem);
改成:
push_back(struct vector* pvec,Elem elem);
还有,用C接口完全实现vector的功能是不可能的。因为vector是一个模板。用C语言没办导出模板来。。。。
作者: mingliang1212 发布时间: 2011-11-30
作者: cwh5635 发布时间: 2011-11-30
{
Vector_int* (*Create)(size);//简单的说就是一个包含一个封装了vector的函数的指针结构体
};
由这些函数去管理你的vector对象。
不能给你本身的客户代码管理。因为你得不到vector的原型。
然后编译成.so就可以了
对每种元素都必须要写一次 = =蛋疼
作者: cwh5635 发布时间: 2011-11-30
如果你真的要用,也可以.
先用C++的vector实现你要的,封装成C方式的DLL(linux下share lib),然用C调用它
作者: keiy 发布时间: 2011-11-30
如果c可使用c++的STL类库,就不会有C++语言了
如果你真的要用,也可以.
先用C++的vector实现你要的,封装成C方式的DLL(linux下share lib),然用C调用它
谢谢,是这样想的,但封装的实现还没有太好的想法,如何知道请指教
作者: argentina_italy_chin 发布时间: 2011-11-30
extern "C" __declspec(dllexport) int test (int x) //返回 int,参数int ,按要求改
{
//以下用C++实现你的功能
vector <int> *v=new vector <int>[x]; //用C参数生成一个vector
//你要处理的....
return xxx; //结果返回给C
}
然后在C中调用这个DLL就可以了
作者: keiy 发布时间: 2011-11-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28