免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3180 | 回复: 13
打印 上一主题 下一主题

c如何调用C++的东西。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-10 10:39 |只看该作者 |倒序浏览
情况是:我现在要写一些PHP模块,来开发一些API,PHP模块基本上都是用C开发,我也只会C。

但是现在要调用其他部门的一些接口,他的接口是C++写的,C++嘛,都是new 一个类什么的? 然后调用它的方法什么的。

我想问下,我现在用C写的模块如何调用它们的c++api ?

有没有什么好点方法?

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2009-08-10 10:41 |只看该作者
可以用C的结构来模拟。

论坛徽章:
0
3 [报告]
发表于 2009-08-10 11:01 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2009-08-10 11:17 |只看该作者
原帖由 sleetboy 于 2009-8-10 11:01 发表
封装成lib就可以用啊


把他们的C++封装成.so  吗?

如果用extern c 貌似是可以解决的,也是就要用c++来开发php模块。。


但是偶不懂c++

哎。。。悲哀。。

论坛徽章:
0
5 [报告]
发表于 2009-08-10 11:21 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2009-08-10 11:54 |只看该作者

回复 #5 sleetboy 的帖子

问个弱智的问题:
可以用c++开发一些标准c的.so吗?

因为他现在给我提供的api都是通过类来访问的,我是否可以先把他的c++api封装成标准的.so,然后让php模块调用。

论坛徽章:
0
7 [报告]
发表于 2009-08-12 21:17 |只看该作者
C不支持类,就不行了,extern "C"导出的是C类型的函数
不知道PHP支不支持C++的类对象,可以的话,你自己学一下简单的C++,不行的话就只好让他们改接口了
所谓的接口,是商量妥协出来的

论坛徽章:
0
8 [报告]
发表于 2009-08-12 21:33 |只看该作者
封装成类了?你再封装成函数。

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
9 [报告]
发表于 2009-08-13 10:34 |只看该作者
原帖由 shuchi91 于 2009-8-10 10:39 发表
情况是:我现在要写一些PHP模块,来开发一些API,PHP模块基本上都是用C开发,我也只会C。

但是现在要调用其他部门的一些接口,他的接口是C++写的,C++嘛,都是new 一个类什么的? 然后调用它的方法什么的。
...



让他们改接口。  其他语言调用 C 接口相对简单,但是要让其他语言认识 C++ 类就比较麻烦了。
建议需要提供给其他语言调用的代码还是用 C 写吧,就像 gtk 那样。
必要时也可以用 C 包装 C++,不过工作量就大了。

论坛徽章:
0
10 [报告]
发表于 2009-08-13 12:42 |只看该作者
把其他部门的提供的功能,做成一个进程提供服务,你的c程序和这个服务交互~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP