doubango初步阅读收获跨平台的代码编写

没有写过跨平台程序,要么在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协定的来定义的自身一套配置信息,用于后续代码分别实现。

再次,编写代码尽量用多平台共有函数接口。

重要的一点:基本掌握各自平台开发的库以及调试经验

在开发过程中,先定义接口,再分平台实现。最后才是完整的合并代码


无论生活、还是技术,一切都不断的学习和更新~~~努力~
原文地址:https://www.cnblogs.com/GoGoagg/p/2821872.html