Linux核心編譯中的九個技巧(1)

來源:互聯網
上載者:User

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


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.