bjwf:
address & 0x03 相当于 (address % 4),不是对齐,
[阅读: 439] 2009-03-13 07:52:48
bios_read_protect 被定义为 u32
这样的语句 * (u32 *)((u8 *)&bios_read_protect + 1)
肯定有问题,有两个问题:
一是会访问 bios_read_protect后面的一字节的内存, 这后一字节是哪儿,只有链接器知道
二是可能会产生不对齐的字访问,这在x86上没问题,但在很多cpu上,比如arm, mips, 68k等系统上会有问题.