当前mobile平台上主流的C++开发环境有Windows Mobile, Symbian, Brew, Linux等等, 为了加速应用程序在各个平台上的开发, 通常的办法是做一个跨平台的框架(Cross Platform Framework)。那样很多平台无关的代码共享无疑加速了开发,现在关键的问题是如何做到这样平台抽象层。
我们看到过很多和下面类似的代码:
在做完这个东西之后, 我们或者在一个salThread.cpp里面分别用不同的宏SYMBIAN_SAL, WM_SAL来分隔开实现, 或者用3个不同的cpp, 比如salThread_Brew.cpp, salThread_Symbian.cpp。。。那样每个平台找到头文件和对应的cpp也就可以编译了。其实很多的地方都是这样操作的, 包括一些大型的C++跨平台的库也是这样实现着, 但是随着开发的深入, 我们明显感觉到了压力。
第一, 如果程序员不是很熟悉某些特性,