ein*_*ica 6 c posix compilation multiplatform building
我已经让自己不得不维护一些C项目,它也应该在旧平台上编译.目前,对于某些平台,_POSIX_C_SOURCE
定义了宏.我想知道 - 如果定义它是否可以接受,我不应该只在所有平台上定义它吗?也许具有最高的相关价值?
总而言之,我想我在问:何时以及在什么条件下应该_POSIX_C_SOURCE
使用?
_POSIX_C_SOURCE
使不同的功能可用。
_POSIX_C_SOURCE 1
使来自 POSIX.1 标准_POSIX_C_SOURCE 2
的功能可用
使来自 POSIX.2 标准_POSIX_C_SOURCE 199309L
的功能可用
使来自 POSIX.1b 标准的功能可用
像 200809L 这样的较高值可以提供更多功能。(man 7 feature_test_macros)
通常,如果您需要严格的 POSIX 合规性,则需要 _POSIX_C_SOURCE
如果您不关心特定的 POSIX 标准合规性,那么在每个项目中定义它是安全的。