我们在浏览Linux内核源代码时,经常会碰到一些非常奇怪的代码记号。按照我们之前对C语言的一般掌握,这些代码记号通常都算不上是符合C语言语法的。那这是怎么回事呢?其实,这基本上是GNU C对 C语言标准的扩充,有了这些扩充,人们就可以更方便的开发,开发出的程序经过GCC编译后,也会产生更有效的二进制代码。 通常情况下,我们写C代码都不大会用到这些扩充,这只是因为很简单的原因,那就是我们还不知道它... Read More
GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行。Linux 还利用 GCC 中的特性(称为扩展)实现更多功能和优化。本文讨论一些重要的扩展,讲解如何在 Linux 内核中使用它们。 GCC 当前的稳定版本(版本 4.3.2)支持 C 标准的三个版本: International Organization for St... Read More