macos - MacOS X 中未定义宏 `__unix__`

标签 macos unix macros

我注意到在 MacOS X (Lion) 中,宏 __unix__ 没有定义。 既然 MacOS 起源于 BSD UNIX,那么情况不应该如此吗?

是否可以让编译器/预处理器知道我希望它被视为 UNIX 系统?

最佳答案

我认为this site给出了最全面的答案。

简而言之,要包含 Apple 平台和常见的 Unix 平台,您需要:

#if defined(__unix__) || defined(__unix) || \
        (defined(__APPLE__) && defined(__MACH__))
...
#endif

关于macos - MacOS X 中未定义宏 `__unix__`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7063303/

相关文章:

c - osx 和/或 linux 上进程范围的命名属性

macos - 实现 Apple 的 HTTP Live Streaming - mediafilesegmenter 工具的问题

bash - Unix 脚本无法更改 Ubuntu 上的 postgres hba.conf 配置文件

xcode - 如何在 Xcode 中自动执行任务?

macos - 在外接显示器上使用单独的桌面?

python - 使用 Python 共享内存的段错误

node.js - 将图像附加到现有 PDF 的正确位置

bash - 在 UNIX 中使用 awk 或 sed 进行文本解析。提取端口号

c - 展开引用字符串中的宏

macros - 为什么我必须在客户端库中公开宏实现的 'use'?