我已经看到了一些用于处理不同操作系统的样板头文件代码,如下所示:
#ifdef __WIN32
//windows
#elif __linux
//linux
#elif __unix
//all unix not captured above
#endif
如果__unix
抓取了__linux
未捕获的所有遗骸,为什么不使用__unix
?我假设它是某种安全措施,例如“如果__linux
还不够,请使用此”。
但是,必须使用两种方法,而不是只使用__unix
(再一次,这个假设可能是错误的)。
这是什么交易?
答案 0 :(得分:0)
正如评论中所述,Unix和Linux是两种不同的操作系统,尽管大量软件兼容,但它们具有单独的许可结构。这意味着Linux中可用的许多工具在Unix中不可用,反之亦然。这方面的一个例子是Unix的ZFS文件系统,它不能在与Linux相同的许可证下分发,因此支持不包含在库存Linux内核中(尽管可以通过支持编译自定义内核)。就特定的锅炉板而言,它可能只是覆盖所有基础,可用于利用每个操作系统上可用的特定工具。