前景:在谷歌室内地图v2.2.0中使用到.mm文件

为什么要使用C++混编
1)需要使用工具库或者源码是C++的
2)C++执行效率快
3)跨平台
何谓混编
混编就是同一个项目中使用不同的编程语言写代码,然后做个桥梁调用彼此
ObjectiveC 与 C++ 的共同点这里就不用多说了,知道它们都向下兼容C语言足以
文章开头.m .cpp文件在不混编的情况下存在是正常的,但是要把这两者都兼容,譬如两者调用,就需要.mm文件,所有语言的桥接代码源文件都是.mm 其实就是相当于.cpp
Xcode中OC、C++混编
前景:如果.h全都是C++的写法,没有问题,如果.h全都是OC的写法,没有问题,如果.h里面有C++又有OC那就有问题(.h中引入的其他头文件也算在内),所以写到.m中吧
attention:只需要将.m改成.mm Xcode即可识别(简单到amazing)
混编还是超级简单,还是了解一下原理比较好
混编注意
在一个项目里使用两种语言,不同的语言差异性还是很大,混乱使用,要跟多的注意处理方式
header文件没有后缀名变化,没有.hh文件。
Objective-C向下完全兼容C,C++也是,有时候也可以使用void *指针做桥梁。
网友评论