bjwf:
对齐的意思是cpu可以从奇数地址开始访问一个字.比如x86
[阅读: 649] 2009-03-15 12:08:48
大多数cpu是不支的这种情况的.
比如
int b = 5; //几乎所有的编译器都会自动把b对齐到4字节倍数的地址
int * p = (int *)&b;
int a = *((int *) ((char *)p + 1)) ; //x86下可能没问题. 但是会访问b后面一个字节 ,b后面是什么,依赖于链拉器,如果b是全局变量, b后面的一个字节可能是其它的全局变量.
这个语句在大多数非x86 cpu下会产生非法地址访问的异常.