我想为我的 C/C++ 文件创建一个通用头文件。在该头文件中,我希望编译时检测我正在为哪个平台构建以及我正在为该平台构建什么类型的应用程序。
选项是:
- 桌面应用程序。操作系统:Win 7/Win 8.x。中央处理器:英特尔/AMD。设备:个人电脑/笔记本电脑
- Windows Phone 应用程序。操作系统: Windows :8.x。中央处理器:ARM。设备:Windows 手机
- 桌面应用程序。操作系统:Windows 8.x。中央处理器:英特尔。设备:平板电脑
- 商店应用程序。操作系统:Windows 8.x。中央处理器:英特尔。设备:平板电脑
- 桌面应用程序。操作系统:Windows RT。中央处理器:ARM。设备:平板电脑
- 商店应用程序。操作系统:Windows RT。中央处理器:ARM。设备:平板电脑
我不确定 [3] 和 [5] 是否是实际的可能性。
我查看了 winapifamily.h,但不确定如何解释(或理解)该头文件中的分区表,因此非常感谢您的帮助。
在我希望创建的头文件中,我想要这样的东西:
#ifdef SOME_PREPROCESSOR_DEFINE
/* Option 1*/
#endif
#ifdef SOME_PREPROCESSOR_DEFINE
/* Option 2*/
#endif
#ifdef SOME_PREPROCESSOR_DEFINE
/* Option 3*/
#endif
#ifdef SOME_PREPROCESSOR_DEFINE
/* Option 4*/
#endif
#ifdef SOME_PREPROCESSOR_DEFINE
/* Option 5*/
#endif
#ifdef SOME_PREPROCESSOR_DEFINE
/* Option 6*/
#endif
谢谢。
最佳答案
窗口版本由许多宏定义,参见 this link .您应该能够通过使用这些来区分不同版本的 Windows。
列出了 visual studio 的其他预定义宏 here .它们的一些组合应该能够帮助你。例如,_M_ARM
是为 ARM 处理器定义的。
关于c++ - 如何检测不同的Windows目标平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25462950/