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 };以上部分内核中用的很多。


相关内容

    暂无相关文章