在开发各种平台(Android,iPhone,Mac,Windows等)时,必须根据平台定义进行分支处理(#ifdef / #endif)。 但是,我不知道Mac / iPhone / Android中的原始定义。
Windows:WIN32(Visual C ++)
Mac:__ MAC_NA(?)(XCode)
iPhone / iPad / iPod:__ IPHONE_NA(?)(XCode)
Android:?? (AndroidNDK)
我应该按什么定义划分?
答案 0 :(得分:4)
对于iPhone,我认为定义是TARGET_OS_IPHONE,对于Android,它是ANDROID。我不太熟悉特定于Apple的东西,但是经过四处寻找后,我找到了很多操作系统定义here的绝佳列表。这里还有另一个答案,它有一个拉出定义的方法,找到here
答案 1 :(得分:4)
您可以随时为项目做些准备,从而摆脱编译器/平台特定的defines
。
#define PLATFORM_ANDROID
#define PLATFORM_IPHONE
并且所有构建都包含一个配置文件,该文件在给定项目中定义其中一个宏,并且应该全面工作。如果您使用的是Visual Studio,则只需在“项目设置”中定义它们,甚至无需配置文件。
答案 2 :(得分:2)
Android NDK使用定义ANDROID。