c++ - 跨平台宏定义

标签 c++ iphone c android macos

在开发各种平台(Android、iPhone、Mac、Windows等)时,需要根据平台定义进行分流处理(#ifdef/#endif)。 但是,我不知道 Mac/iPhone/Android 中的原始定义。

‖Windows : WIN32 (Visual C++)

‖Mac : __MAC_NA(?) (XCode)

iPhone/iPad/iPod : __IPHONE_NA(?) (XCode)

‖安卓:?? (AndroidNDK)

我应该根据什么定义划分?

最佳答案

对于 iPhone,我认为定义是 TARGET_OS_IPHONE,而对于 Android,它是 ANDROID。我不太熟悉 Apple 特有的东西,但在四处寻找之后,我发现了一个包含大量操作系统定义的好列表 here .在 SO 上还有另一个答案,它有一种方法可以提取定义,找到 here

关于c++ - 跨平台宏定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3170928/

相关文章:

c++ - 促进 ASIO TCP 消息分离

c++ - 错误 C2146 : syntax error : missing ';' before identifier 'g_App'

javascript - 从 UIWebView *不*修改应用程序源启动移动 Safari?

c - 为什么这个 void 函数返回一个整数,即使没有 return 语句?

c - printf函数返回的 'transmitted'是什么意思?

c++ - 在 C++ 中自动化控制台输入

c++ - vector * matrix 乘积效率问题

iphone - 检测耳机(不是麦克风)是否插入 iOS 设备

iphone - 将焦点设置为 UITabBarItem

c - 如何使用 fread() 将文件内容加载到 C 字符串数组的第二个元素中?