中国开发网: 论坛: 程序员情感CBD: 贴子 705545
bjwf: 对齐的意思是cpu可以从奇数地址开始访问一个字.比如x86
大多数cpu是不支的这种情况的.
比如

int b = 5; //几乎所有的编译器都会自动把b对齐到4字节倍数的地址

int * p = (int *)&b;

int a = *((int *) ((char *)p + 1)) ; //x86下可能没问题. 但是会访问b后面一个字节 ,b后面是什么,依赖于链拉器,如果b是全局变量, b后面的一个字节可能是其它的全局变量.

这个语句在大多数非x86 cpu下会产生非法地址访问的异常.

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录