doubango初步阅读收获-跨平台的代码编写
2012-12-17 16:09
197 查看
没有写过跨平台程序,要么在win下面写,要么在mac下面写,混合写的情况很少,一般用c写出来的代码可以在两边共同编译,但仅仅是部分;
在阅读doubango开源代码中,有些收获
假定这么一个问题:如何开发多平台的模块?
这个是宏大的命题。不针对这个问题回答,仅仅以自身提升
首先第一点,要知晓确定一门多平台语言,比如c语言
其次,在移植多平台开发中,需要注意主流平台的编译协定。同时要定义一套用于区分平台的配置信息。
比如:
#ifdef __SYMBIAN32__
#undef _WIN32 /* Because of WINSCW */
#endif
/* Windows (XP/Vista/7/CE and Windows Mobile) macro definition.
*/
#if defined(WIN32)|| defined(_WIN32) || defined(_WIN32_WCE)
# define TNET_UNDER_WINDOWS 1
#endif
#if defined(__APPLE__)
# include <TargetConditionals.h>
#endif
// OS X or iOS
#if defined(__APPLE__)
# define TNET_UNDER_APPLE 1
#endif
其中TNET_UNDER_WINDOWS和TNET_UNDER_APPLE就是依据各自IDE协定的来定义的自身一套配置信息,用于后续代码分别实现。
再次,编写代码尽量用多平台共有函数接口。
重要的一点:基本掌握各自平台开发的库以及调试经验
在开发过程中,先定义接口,再分平台实现。最后才是完整的合并代码
在阅读doubango开源代码中,有些收获
假定这么一个问题:如何开发多平台的模块?
这个是宏大的命题。不针对这个问题回答,仅仅以自身提升
首先第一点,要知晓确定一门多平台语言,比如c语言
其次,在移植多平台开发中,需要注意主流平台的编译协定。同时要定义一套用于区分平台的配置信息。
比如:
#ifdef __SYMBIAN32__
#undef _WIN32 /* Because of WINSCW */
#endif
/* Windows (XP/Vista/7/CE and Windows Mobile) macro definition.
*/
#if defined(WIN32)|| defined(_WIN32) || defined(_WIN32_WCE)
# define TNET_UNDER_WINDOWS 1
#endif
#if defined(__APPLE__)
# include <TargetConditionals.h>
#endif
// OS X or iOS
#if defined(__APPLE__)
# define TNET_UNDER_APPLE 1
#endif
其中TNET_UNDER_WINDOWS和TNET_UNDER_APPLE就是依据各自IDE协定的来定义的自身一套配置信息,用于后续代码分别实现。
再次,编写代码尽量用多平台共有函数接口。
重要的一点:基本掌握各自平台开发的库以及调试经验
在开发过程中,先定义接口,再分平台实现。最后才是完整的合并代码
相关文章推荐
- 阅读《编写高质量代码》心得(3)
- 编写firefox plugin的跨平台代码
- linux内核代码的编写初步以及makefile的配置
- 阅读使用Java代码编写的飞机大战程序
- PHP精粹:编写高效PHP代码 适合资深PHP程序员阅读
- 阅读Java代码的的一些收获
- cocos2d-x获取屏幕位置信息代码 分类: cocos2d代码编写 2015-07-28 21:32 7人阅读 评论(0) 收藏
- 如何编写跨平台的C/C++代码
- linux内核代码的编写初步以及makefile的配置
- 如何编写跨平台的C/C++代码
- 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》阅读笔记
- 《高效的JavaScript代码编写技巧》阅读笔记
- 编写高质量iOS与OS X代码的52个有效方-Effective Objective-C 2.0阅读笔记
- linux内核代码的编写初步以及makefile的配置
- Cocos2d-x 3D功能学习笔记 分类: cocos2d代码编写 2015-07-27 18:57 8人阅读 评论(0) 收藏
- cocos2dx最新2.1.5版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行
- Cocos2d-x中的基础概念学习笔记 分类: cocos2d代码编写 2015-07-27 17:08 5人阅读 评论(0) 收藏
- 阅读高手编写的类似QQ聊天的服务端代码业务层设计总结
- [代码阅读]gem5中的classic cache 初步(1)
- tiny6410裸机实验第0章--------------开发环境的搭建(代码阅读和编写工具 source insight )