roundup和ALIGN的對比

2022-07-11 06:42:08 字數 602 閱讀 8682

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...