我已经让自己不得不维护一些C项目,该项目也应该在较旧的平台上编译。目前,对于某些平台,定义了宏_POSIX_C_SOURCE
。我想知道 - 如果定义它是否可以接受,我是否应该只在所有平台上定义它?也许具有最高的相关价值?
为了概括,我想我会问:何时以及在什么条件下应该_POSIX_C_SOURCE
使用?
答案 0 :(得分:4)
<div class="container">
<div class="should-be-overlapped"></div>
<div class="always-full-width"></div>
</div>
提供不同的功能。
_POSIX_C_SOURCE
使POSIX.1标准版的功能可用
_POSIX_C_SOURCE 1
使POSIX.2标准版的功能可用
_POSIX_C_SOURCE 2
使POSIX.1b标准版的功能可用
200809L等更高的值可提供更多功能。 (man 7 feature_test_macros)
一般情况下,如果您需要strict POSIX compliance
,则需要_POSIX_C_SOURCE如果您不关心特定的POSIX标准合规性,可以在每个项目中定义它。