Tôi không thể hiểu macro này làm gì. Chúng được định nghĩa trong linux-kernel
nhưng tôi nghi ngờ của tôi là độc lập với điều đó. Tôi không thể hiểu được những gì hiện (((x)+(mask))&~(mask))
dòng nào.căn chỉnh hạt nhân macro
#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
Mọi trợ giúp đều được đánh giá cao.
Liệu điều này làm việc lừa cho 'alignment' mà không phải là sức mạnh của 2. –
Không, nó chỉ hoạt động với các quyền hạn của 2. Nhưng việc chỉ định căn chỉnh chỉ hữu ích cho các quyền hạn của 2, vì vậy không có trường hợp hữu ích nào bị xử lý sai. –