#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
寫簡單點,宏ALIGN實際上是這樣定義的:
#define ALIGN(x, a) (x + (a - 1)) & ~(a - 1)
並且在計算的過程中將a強制轉換成x的類型
該宏的作用:將x按a的值來對齊
比如
ALIGN(9,4)=12
ALIGN(10,4)=12
ALIGN(11,4)=12
ALIGN(12,4)=12
ALIGN(13,4)=16
ALIGN(14,4)=16
ALIGN(15,4)=16
ALIGN(16,4)=16
Linux內核將用nftables替代iptables http://www.linuxidc.com/Linux/2013-10/91727.htm
Linux 3.12代號Suicidal Squirrel http://www.linuxidc.com/Linux/2013-09/90023.htm
怎樣在 Ubuntu 上安裝 Linux 3.11 內核 http://www.linuxidc.com/Linux/2013-09/89674.htm
Ubuntu 13.10 (Saucy Salamander) 內核已升級至 Linux Kernel 3.10 RC5 http://www.linuxidc.com/Linux/2013-06/86110.htm
Linux Kernel 3.4.62 LTS 現已經提供下載 http://www.linuxidc.com/Linux/2013-09/90368.htm
如何在Ubuntu 13.10上安裝Linux內核 3.12 http://www.linuxidc.com/Linux/2013-11/92930.htm
Linux Kernel 的詳細介紹:請點這裡
Linux Kernel 的下載地址:請點這裡