【问题标题】:How and when should I use _POSIX_C_SOURCE in C programs?我应该如何以及何时在 C 程序中使用 _POSIX_C_SOURCE?
【发布时间】:2018-01-26 11:58:06
【问题描述】:

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

概括地说,我想我在问:应该在什么时候以及在什么条件下使用_POSIX_C_SOURCE

【问题讨论】:

    标签: c compilation posix multiplatform building


    【解决方案1】:

    _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)

    如果需要strict POSIX compliance,一般需要_POSIX_C_SOURCE

    如果您不关心特定的 POSIX 标准合规性,在每个项目中定义它是安全的。

    【讨论】:

    • “不关心特定的 POSIX 标准合规性”是什么意思?不是反过来吗,即强制特定的 POSIX 标准合规性?
    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2020-12-21
    • 1970-01-01
    • 2011-05-29
    相关资源
    最近更新 更多