我正在开发一个必须完全兼容POSIX的系统
我正在使用gcc和c ++在Fedora Core 14上开发它
我不想使用任何非POSIX
的东西我如何确保维持这个?
是否有编译器设置?
我正在使用Codeblocks
答案 0 :(得分:3)
不,没有“神奇的编译器开关”来确保您只使用Posix API。
您可以在此处获取POSIX规范:
此套件允许您检查应用程序是否符合POSIX API:
答案 1 :(得分:1)
这与编译器没有任何关系。 POSIX指定实用程序,接口和附带的头文件 - 编译器只关注编程语言的细节。
也就是说,如果您正在使用的头文件集已经很好地实现,那么您应该能够通过适当的-D
和-U
选项启用/禁用您正在使用的功能集{1}}。
例如,除非已定义gcc
,否则fcntl.h
不允许访问fallocate()
。使用相同的标头,您需要将_GNU_SOURCE
定义为_POSIX_C_SOURCE
或更高,以使200809L
fcntl()
可用。