【问题标题】:is there a way to ONLY compile POSIX API有没有办法只编译 POSIX API
【发布时间】:2013-01-03 19:40:43
【问题描述】:

我正在开发一个必须完全兼容 POSIX 的系统

我正在使用 gcc 和 c++ 在 Fedora Core 14 上开发它

我不想使用任何非 POSIX 的东西

我如何确保我保持这种状态?

有编译器设置吗?

我正在使用代码块

【问题讨论】:

    标签: linux gcc makefile posix gnu


    【解决方案1】:

    不,没有“神奇的编译器开关”来确保您只使用 Posix API。

    您可以在此处获取 POSIX 规范:

    此套件允许您检查您的应用程序是否符合 POSIX API:

    【讨论】:

    • 太好了,感谢您提供的信息 - 可能适用于不同的 SO 问题,但是您有任何关于将 POSIX api 与 c++ 结合使用的资源吗?
    【解决方案2】:

    这实际上与编译器无关。 POSIX 指定实用程序、接口和随附的头文件 - 编译器只关心编程语言的细节。

    也就是说,如果您使用的头文件集实现良好,您应该能够使用正确的 -D-U 选项启用/禁用您正在使用的功能集 gcc

    例如,包含fcntl.h 将不允许访问fallocate(),除非已定义_GNU_SOURCE。使用相同的标头,您需要将_POSIX_C_SOURCE 定义为200809L 或更大,以便F_DUPFD_CLOEXEC fcntl() 可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多