要研究LINUX内核,C语言是基础中的基础,但是LINUX并不是完全的标准C,而是对标准C做了很多扩展,这些扩展特性对于我们分析内核有着很重要的作用,下面做些总结性的工作。 3 变参宏 标准C的变参宏 在ISO C99里,一个宏可以被声明为带可变的参数个数,就像函数一样。语法如下: #define debug(format, …) fprintf(stderr, format, __VA_ARGS__) 这里的 “…” 代表变参,在引用宏debug的地方它代表着零个或多个相应的标识符,包括逗号。这些标识符将会替换__VA_ARGS__。 但是这样的宏不能处理零变参的情况,否则编译...