我习惯于在编译应用程序代码时使用-std=c99来启用c99特性。
最近,我一直在关注一些基本的内核模块示例,并将ccflags-y := -std=c99添加到makefile中。然而,当我尝试创建时,这导致了17K行的错误。gnu99可以完美地工作。
内核代码所依赖的gnu99和c99之间的区别是什么?
发布于 2014-06-09 10:27:13
linux内核使用了大量的GCC扩展,即内核中使用的C语言是不符合标准的,它是包含了GCC扩展的超集。因此,GNU99是需要传递的编译器选项。
https://stackoverflow.com/questions/23707298
复制相似问题