cocos2dx中IOS移植安卓中的一些注意事项

1.XCODE中,头文件的引用可以不写全路径,但是在android中就不行了,所以想让以后的移植工作量变小一些,在刚开发的时候就必须注意这个问题

2.在开发IOS的时候,由于编译器对于C++函数指针调用的参数检查并不是很严格,比如typedef void (CCObject::*SEL_MenuHandler)(CCObject*);这种类型的函数指针,你传个void test();不带参数的函数指针进去,也能编译通过并且正常运行起来;而在android下,就没那么好运气了,必须严格的符合函数指针的参数需求来

3.在使用一些全局自带宏,或者常量定义之前,最好先查查标准C/C++中这个常量是否存在

4.当遇到可能会平台相关的代码时,要使用CC_TARGET_PLATFORM这个宏,会给你很大帮助;如果需要抽象出两个平台都能用的接口,那么在接口声明头文件中请一定不要出现Object-C相关的类以及语法(如#import 等,如果不得不使用,可以使用CC_TARGET_PLATFORM来区分代码),实现接口的时候,IOS使用mm文件,android使用CPP文件。所以在设计这些接口的时候,多多思考。

5.在android开发中,经常不得不使用JNI在JAVA和C++中不停来回调用,这个时候一定要看清楚函数声明的原型以及每一个参数,都必须一致,否则必然崩溃。我就遇到过一个坑,由于一时粗心大意,CallStaticVoidMethod和CallStaticVoidMethod混用了,一旦开启了ART模式,立马崩溃

6.XCODE开发的时候,文件的字符编码记得要和android的一致(建议UTF8),否则会造成中文注释乱码问题,而且在写中文注释的时候(没找到原因),XCODE的换行符和Eclipse的不一样,这个时候就会发生很可怕的事情,经常会把下一行代码给注释了,android就会莫名其妙的崩溃在一些奇怪的地方。这个花了不少时间才把所有代码修复,血泪史啊!


暂时就想到这么多了,想起来了,就会继续补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值