关于c++跨平台开发的几点思考
来源:互联网 发布:嵌入式软件什么意思 编辑:程序博客网 时间:2024/05/21 17:23
为什么要做C++跨平台开发
从我参与的两个项目看,一般都是要求底层库可以跨平台。UI上层可以采用现有的跨平台UI框架,也可以使用平台独有的UI框架(为了更好的使用平台特性)
c++底层库封装了大量的io操作,或者是产品开发所需要调用的相关API。这样可以更好的复用code,降低跨平台开发的成本。
而且可以很好地控制核心API的开发和维护,由单独的一个team来完成,从而更好的控制风险和质量。
如何跨平台
一般来说,我们都会使用C++ std library,这是国际c++标准委员会制定的。对各个编译器来说应该都是支持的。
但是遇到和一些linux,windows等平台上编译器所特有的一些库,函数,这个时候我们就需要区别对待了。
1. 很多人都是实现的时候通过宏来控制相关的代码段。但是当碰到大量的平台差异时候,代码就非常凌乱,到处都是宏,看了就没胃口了。
2. 为了避免上述问题,我们可以把平台差异实现分开,作为两套实现文件。然后通过预编译宏来控制引用哪一个头文件。这样看上去相对来说清晰很多。
3. 最近在新的项目中,发现了一个跨平台工具cmake. 我们可以在cmake里面来针对相关平台直接引用相关的文件。让宏在生成相关project的时候就起作用。
这样看起来就更清楚了。
4. 可以使用跨平台的lib。如boost,qt. 其本身就是跨平台的。我们用起来就十分方便了。QT不光是写了大量的C++ library,其UI框架也是跨平台的,所以它现在在跨平台UI开发方面应用很多。
- 关于c++跨平台开发的几点思考
- 几点关于C/C++开发的思考
- 初学者关于Objective-C 内存管理的几点思考
- 关于利用JAVA开发游戏外挂的几点思考
- 关于针对iOS 7开发的几点思考
- 关于针对iOS 7开发的几点思考
- 关于创办软件公司的几点思考
- 关于职业规划的几点思考
- 关于设计模式的几点思考
- 关于创办软件公司的几点思考
- 关于软件的几点思考
- 关于软件设计的几点思考
- 关于Bellman-Ford的几点思考
- 几点关于学习的思考
- 关于库接口的几点思考
- 关于几点问题的几点小思考
- 关于MVC的几点思考
- 关于计算机专业的几点思考
- 用js javascript 创建网页快捷方式
- XML简明教程(1)
- HDU 4012 Paint on a Wall 搜索
- unity3d学习(二)yield与StartCoroutine
- Android 百度地图定位(手动+自动)
- 关于c++跨平台开发的几点思考
- Java常用到小段代码
- 关于两种运行sh的方式: ./myscript.ksh and . ./myscript.ksh
- JS Ajax --- 使用AjaxPro 调用后台方法 操作数据库
- JavaScript js csdn 文字滚动广告效果
- Android 弹出提示框
- check kernel memory leak
- cocos2d-x 触摸消息响应
- C++ string 实现逆序