如何以及何时在C程序中使用_POSIX_C_SOURCE?

时间:2018-01-26 11:58:07

标签: c compilation posix multiplatform building

我已经让自己不得不维护一些C项目,该项目也应该在较旧的平台上编译。目前,对于某些平台,定义了宏_POSIX_C_SOURCE。我想知道 - 如果定义它是否可以接受,我是否应该只在所有平台上定义它?也许具有最高的相关价值?

为了概括,我想我会问:何时以及在什么条件下应该_POSIX_C_SOURCE使用?

1 个答案:

答案 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标准合规性,可以在每个项目中定义它。