8

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

最近我一直在关注一些基本的内核模块示例,并添加ccflags-y := -std=c99到 makefile 中。但是,当我尝试制作时,这导致了 17K 行错误。gnu99完美运行。

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

4

1 回答 1

1

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

于 2014-06-09T02:27:12.870 回答