为什么我必须使用gnu99而不是c99来编译内核模块?

时间:2014-05-17 03:31:23

标签: c linux-kernel kernel-module c99 gnu99

在编译应用程序代码时,我习惯使用-std=c99启用c99功能。

最近我一直在关注一些基本的内核模块示例,并将ccflags-y := -std=c99添加到makefile中。然而,当我尝试制作时,这导致17K行错误。 gnu99效果很好。

内核代码依赖的gnu99和c99有什么区别?

1 个答案:

答案 0 :(得分:1)

Linux内核使用了大量的GCC扩展,即内核中使用的C语言不符合标准,它是包含GCC扩展的超集。因此GNU99是需要传递的编译器选项。