zoukankan      html  css  js  c++  java
  • 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协定的来定义的自身一套配置信息,用于后续代码分别实现。

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

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

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


    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    ETL Pentaho Data Integration (Kettle) 插入/更新 问题 etl
    Value Investment
    sqlserver 2008r2 表分区拆分问题
    HTTP与HTTPS的区别与联系
    别人分享的面经
    饥人谷开放接口(教程)
    java内存泄漏
    单例模式
    Maven项目上有小红叉咋办
    Socket通信1.0
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2821872.html
Copyright © 2011-2022 走看看