Linux内核编译中的九个技巧(1)
Linux内核编译中的九个技巧(1)
关于Linux的内核编译有不少系统管理员都不知道如何去处理。其实就像平时的Linux系统管理一样Linux内核编译也有技巧可以掌握。在本文中我们就向大家介绍下Linux内核编译九个技巧。
1构建泛型宏 ./linux/include/linux/kernel.h)
#define min(x, y) ({ \
typeof(x) _min1 = (x); \
typeof(y) _min2 = (y); \
(void) (&_min1 == &_min2); \
_min1 < _min2 ? _min1 : _min2; })
大家看了就明白是什么意思了。但是我还有几点疑问:
(1)(void) (&_min1 == &_min2);这行代码是用来干什么的?
(2)为什么{}的外面要加(),不加的时候编译是不通过的,具体是什么原因?
2 范围的扩展
(1) switch 语句
switch(a)
{
case 1 ... 3:
printf("fafadsf");
break;
case 4 ... 8:
printf("dsafaf");
break;
}
2)数组的初始化 int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };以上部分内核中用的很多。
评论暂时关闭