data
Array Access
基址+变址*len
对应下一段代码
movl $0, %eax
jmp .L3
.L4:
addl $1, (%rdi, %rax, 4)
addq $1, %rax
.L3:
cmpq $4, %rax
jbe .L4
rep; ret
Pointers & Arrays
cmp:能否编译
Bad:是否出现Bad Pointer Reference
多级的Array访问:
Structure Representation
为什么int是8个字节?
答:对齐的需要
在结构体中,K是所有元素中最大对齐元素的K,例如如果有double,那么K=8。
节省空间的方法:将大的元素先放,避免为了Alignment造成空缺
ps:SSE3寄存器32bytes
https://zh.wikipedia.org/wiki/MMX
浙公网安备 33010602011771号