谷歌似乎没有对这个话题做出任何解释 - 但问题很简单:
FreeBSD(或任何 BSD)CodeBase 是否符合 ANSI (c89) 标准,或者是否使用 c99、c11 或像 Linux 内核那样的非标准功能?
答案1
中提出的指南FreeBSD 开发者手册 鼓励开发人员编写可移植代码。例如,建议(在2.4.用cc编译)C 程序员使用编译器警告来检查问题:
一般来说,您应该尝试使您的代码尽可能可移植,否则您以后可能必须完全重写程序才能使其在其他地方工作 - 谁知道几年后您可能会使用什么?
% cc -Wall -ansi -pedantic -o foobar foobar.c
在检查 foobar.c 是否符合标准后,这将生成可执行文件 foobar。
但是,那提交者指南没有指出要求贡献遵循给定的标准。该指南中的相关要点是社会的而不是技术的,例如,
另一方面,FreeBSD 波特手册确实提到 POSIX 作为目标(参见12.18。使用 POSIX 标准)。
总而言之,因为有建议但没有讨论审查以确保合规性,所以他们的代码库可能“主要”是 POSIX,但由于常见原因(错误、意见等)而有例外。