快速业务通道

C++的可移植性和跨平台开发[1]:编译器

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29

在跨平台的开发过程中,很多问题都和编译器有关。因此我们先来聊聊编译器相关的问题 。

★编译器的选择

首先,GCC是优先要考虑支持的,因为几乎所有操作系统平台都有GCC可用。它基本上成了 一个通用的编译器了。如果你的代码在A平台的GCC能够编译通过,之后拿到B平台用类似版本 的GCC编译,一般也不会有太大问题。因此GCC是肯定要考虑支持的。

其次,要考虑是否支持本地编译器。所谓本地编译器就是操作系统厂商自产的编译器。例 如相对于Windows的本地编译器就是Visual C++。相对于Solaris的本地编译器就是SUN的CC。 如果你对性能比较敏感或者想用到某些本地编译器的高级功能,可能就得考虑在支持GCC的同 时也支持本地编译器。

★编译警告

编译器是程序员的朋友,很多潜在的问题(包括可移植性),编译器都是可以发现并给出 警告的,如果你平时注意这些警告信息,可以减少很多麻烦。因此我强烈建议:1把编译器的 警告级别调高;2不要轻易忽略编译器的警告信息。

★交叉编译器

交叉编译器的定义参见“维基百科”。通俗地说,就是在A平台上编译出运行 在B平台上的二进制程序。假设你要开发的应用是运行在Solaris上,但是你手头没有能够运 行Solaris的SPARC机器,这时候交叉编译器就可以派上用场了。一般情况下都使用GCC来制作 一个交叉编译器,限于篇幅,这里就不深入聊了。有兴趣的同学可以参见"这里" 。

关于编译器的话题,暂时聊到这,后面聊聊关于“语法”的问题。

原始地址:http://program-think.blogspot.com/

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号