在跨平台的开发过程中,很多问题都和编译器有关。因此我们先来聊聊编译器相关的问题 。
★编译器的选择
首先,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/
时间: 2024-11-01 08:39:31