在开发各种平台(Android、iPhone、Mac、Windows等)时,需要根据平台定义进行不同的处理(#ifdef/#endif)。但是,我不知道Mac/iPhone/Android的原始定义。
Windows: WIN32 (可视化Windows)
Mac:__MAC_NA(?)(XCode)
iPhone/iPad/iPod:__IPHONE_NA(?)(XCode)
Android:??(AndroidNDK)
我应该用什么定义来划分?
发布于 2010-07-03 17:15:36
对于iPhone,我认为它的定义是TARGET_OS_IPHONE,对于ANDROID,我相信它是Android。我对苹果特有的东西并不是很熟悉,但在浏览了一下之后,我发现了一份很棒的清单,上面有很多操作系统定义的here。这里有另一个答案,找到了here,它有一种方法来提取定义
发布于 2010-07-03 17:54:15
您可以随时为您的项目编写一些代码,从而将自己从特定于编译器/平台的defines中解放出来。
#define PLATFORM_ANDROID
#define PLATFORM_IPHONE
:
并使所有构建都包含一个配置文件,该文件在给定项目中定义了这些宏中的一个,并且应该能够全面工作。如果你使用的是Visual Studio,你可以在项目设置中定义它们,甚至不需要配置文件。
发布于 2010-07-03 17:03:12
ANDROID NDK使用definition Android。
https://stackoverflow.com/questions/3170928
复制相似问题