我使用了一些GNU扩展,并意识到如果我将gnu99设置为C标准来使用,我可以省略#define _GNU_SOURCE。gnu99是否意味着_GNU_SOURCE,还是使用它更安全,还是强制避免问题?
发布于 2013-09-07 19:24:41
您应该区分语言和库特性;-std=gnu99支持GNU语言特性,_GNU_SOURCE支持GNU库功能。
如果您使用任何库特性,我建议您定义_GNU_SOURCE,因此对于代码的读者来说这是显而易见的。此外,当您的代码在提供GCC而不是glibc的平台上编译时,这可能会使事情变得更明显。
https://stackoverflow.com/questions/18676944
复制相似问题