首页 > 移动平台 > 详细

iOS开发-OC、C、C++ 混编

时间:2016-02-23 09:41:55      阅读:523      评论:0      收藏:0      [点我收藏+]

OC里面的有三大类文件.m/.h(OC),.c/.h (C),.cpp/.hpp(C++)。

 

一、在OC中调用C或者C++

如果是.m文件,可以用OC和C的代码;

如果是.mm文件,可以用OC和C和C++的代码;

.m 和.mm 的区别是告诉编译器在编译时要加的一些参数。.mm也可以命名成.m,手动加编译参数。

二、在C++中调用OC

PIMPL (Private Implementation, 私有实现)

不要在C++中依赖ARC,最好自己手动管理。

 

遇到的问题:

1,尝试在同一个文件中调用oc、c、c++,ld: symbol(s) not found for architecture x86_64。

问题出现的原因和OC无关,在c++中引用c的头文件,需要用extern "C"{}把代码包括起来。详细原因见下:

http://stackoverflow.com/questions/9334650/linker-error-calling-c-function-from-objective-c

2,

 

 

 

参考

http://blog.csdn.net/horkychen/article/details/7935910

http://www.mamicode.com/info-detail-416411.html

iOS开发-OC、C、C++ 混编

原文:http://www.cnblogs.com/loying/p/5208821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!