有没有办法只编译POSIX API

时间:2013-01-03 19:40:44

标签: linux gcc makefile posix gnu

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

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

我不想使用任何非POSIX

的东西

我如何确保维持这个?

是否有编译器设置?

我正在使用Codeblocks

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

这与编译器没有任何关系。 POSIX指定实用程序,接口和附带的头文件 - 编译器只关注编程语言的细节。

也就是说,如果您正在使用的头文件集已经很好地实现,那么您应该能够通过适当的-D-U选项启用/禁用您正在使用的功能集{1}}。

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