Windows Mobile 6.5.3预处理器

时间:2010-08-04 18:15:44

标签: c++ windows-mobile c-preprocessor

我是否可以使用预处理器值来检测何时为Windows Mobile 6.5.3编译程序?例如,我可以使用#if (_WIN32_WCE >= 0x501)编译Windows Mobile 5及更高版本的代码,或#if _WIN32_WCE >= 0x502编译Windows Mobile 6的代码。

Windows Mobile 6.5.3中存在一些在Windows Mobile 6中不存在的新API。我想确保WM 6.5.3调用没有编译到WM 6,WM 5和Pocket PC 2003构建配置。

1 个答案:

答案 0 :(得分:0)

版本是指Windows CE版本,我认为它不符合Windows Mobile版本。

据我所知,这个版本定义的形式是0xXYZ,其中X是主要版本,Y是次要版本,Z是修订版。因此,如果0x502指的是Windows Mobile 6或更高版本,则意味着Windows Mobile 6在Windows CE 5.0.2上运行。

如果它使用不同的版本,您需要确定Windows Mobile 6.5.3使用的Windows CE版本,并将定义与之比较。如果它不使用不同版本的Windows CE(我认为就是这种情况),我认为你运气不好。

我认为没有任何类型的预处理器可以定位特定版本的Windows Mobile,因此您必须制作两个单独的版本并使用您自己的定义。据我所知,你只能在运行时获得Windows Mobile版本,这样做并不是很直接。