加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

用于标识UNIX派生系统的通用宏? (Linux,OSX,BSD,……)

发布时间:2020-12-15 17:01:10 所属栏目:安全 来源:网络整理
导读:我想知道为什么在MacOSX上没有定义宏__unix__. MacOSX不是BSD UNIX衍生产品吗? 如果我在代码中定义__unix__宏,我可以遇到一些问题吗? 一般来说,在检查当前平台时,我更喜欢做以下事情: #ifdef __unix__...#endif 代替: #if defined(__unix__) || defined(
我想知道为什么在MacOSX上没有定义宏__unix__.

MacOSX不是BSD UNIX衍生产品吗?

如果我在代码中定义__unix__宏,我可以遇到一些问题吗?

一般来说,在检查当前平台时,我更喜欢做以下事情:

#ifdef __unix__
...
#endif

代替:

#if defined(__unix__) || defined(__APPLE__) || defined(__linux__) || defined(BSD) ...
...
#endif

最好的选择是在一个地方定义我自己的宏吗?例如.:

#if defined(__unix__) || defined(__APPLE__) || defined(__linux__) || defined(BSD) ...
#define UNIX_
#endif
POSIX要求在< unistd.h>中定义_POSIX_VERSION. (也可以通过sysconf(_SC_VERSION)访问),所以试试吧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读