在你做跨平台开发时,难免会遇到一些因操作系统特性带来的麻烦。本文集聚部分,并以Windows,linux为目标平台分析。由于java,Python等语言基本锁定自家编译器、IDE,也就没有C/C++这样的麻烦了,本文还是以C/C++为主。
1、 关于路径和头文件路径分隔符的问题
在Windows中,正斜杠和反斜杠都可以,但是在Linux中,只能是/。
在Windows中,路径大小写无所谓,在Linux中严格区分大小写。
2、 关于宽字符的问题。
在Windows中,wchar_t占两个字节,Linux中占四个字节,所以尽量用C/C++自带的字符类型或者第三方跨平台库类型如:qchar。
3、 与平台相关的调用
尽量用宏隔离开来,一般用不同的目录代表不同平台,BOOST、OGRE等是这样做。也可以再一个类或者文件中,这样会导致到处都是操作系统和编译器相关宏的定义。
4、 关于头文件包含