代码之家  ›  专栏  ›  技术社区  ›  Trevor Balcom

Windows Mobile 6.5.3预处理器

  •  0
  • Trevor Balcom  · 技术社区  · 14 年前

    在为WindowsMobile6.5.3编译程序时,是否有一个预处理器值可用于检测?例如,我可以使用 #if (_WIN32_WCE >= 0x501) 为Windows Mobile 5及更高版本编译代码,或 #if _WIN32_WCE >= 0x502 为WindowsMobile6编译代码。

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

    1 回复  |  直到 8 年前
        1
  •  0
  •   Collin Dauphinee    14 年前

    这个版本指的是windowsce版本,我认为它和windowsmobile版本不匹配。

    我记得,这个版本定义的格式是0xXYZ,其中X是主要版本,Y是次要版本,Z是修订版。因此,如果0x502表示WindowsMobile6或更高版本,则意味着WindowsMobile6在WindowsCE5.0.2上运行。

    如果WindowsMobile6.5.3使用的是不同的版本,您需要弄清楚它使用的是哪个版本的WindowsCE,并将define与之进行比较。如果它不使用不同版本的windowsce(我认为是这样),我认为你运气不好。

    我认为没有任何类型的预处理器来针对特定版本的Windows Mobile,因此您必须创建两个独立的版本并使用自己的define。据我所知,您只能在运行时获取Windows Mobile版本,这样做并不是很直接。