linux kernel中常見的巨集整理 - yooooooo - 中看到roundup和align巨集功能類似,便做了個對比。
在o3優化,#define sz 4
的情況下,擷取部分彙編**如下
int r0 = (r + sz - 1) / sz * sz;
被編譯成
leal 6(%rax), %edx
addl $3, %eax
leaq .lc0(%rip), %rsi
movl $1, %edi
cmovns %eax, %edx
xorl %eax, %eax
andl $-4, %edx
int r0 = (r + sz - 1) & (~(sz - 1));
被編譯成
leal 3(%rax), %edx
leaq .lc0(%rip), %rsi
movl $1, %edi
xorl %eax, %eax
andl $-4, %edx
好像差別也不是很大,推測當對齊到2的次方時,會觸發編譯器的很多優化 HTML中的align和valign這兩個屬性
align和valign屬性均是規定 相對於周圍元素的對齊方式,區別就在於 1 align屬性趨向於左右對齊,其值包含 left right center 在 html 4.01 中,不贊成使用 body 元素的 align 屬性 在 xhtml 1.0 strict dtd 中,不支援 body ...
HTML 標籤的 align 屬性
文件中的乙個部分居中對齊 this is some text 親自試一試 align 屬性規定 div 元素中的內容的水平對齊方式。所有瀏覽器都支援 align 屬性。在 html 4.01 中,不贊成使用 div 元素的 align 屬性 在 xhtml 1.0 strict dtd 中,不支援 ...
核心巨集ALIGN的含義
from 在linux2.6.30.4中,在include linux kernel.h檔案中,align巨集的定義如下 cpp view plain copy define align x,a align mask x,typeof x a 1 define align mask x,mask x...