Group: cn.comp.programm · Group Profile
Author: WANG CongWANG Cong Date: Feb 28, 2008 20:30
On Fri, 29 Feb 2008 02:05:48 +0800,·çÖÐ֜ҳ wrote:
> Last time, Fat WANG Cong gmail.com> says:
>
>
>>On Wed, 27 Feb 2008 21:58:05 +0800,snnn wrote:
>>
>>> NewBlue 写道:
>>>> 32位计算机,C/C++里面 int long ulong int*(包括其他指针) 都是四字节。
>>>>
>>>> short是二字节。这二字节会不会因为对齐而实际上使用四字节呢?
>>>>
>>>>
>>> 具体情况具体而定。
>>> struct中,会因为对齐而增加空间的使用。而相同类型的变量组成的数组不会。 局部变量在栈上
的
>>分布一般也会对齐。
>>
>>数组元素之间不会有“空洞”。;-)
>>
>>你提到的入栈的东西一般也会对齐,没错,因为对齐可以提高存却效率。而且对于risc 机器,访问
未对齐的地址是非法的。
>
> 对于ARM这种东东,一直要求必须要对齐地址,我也一直小心翼翼的使用。
> 但我一直想弄明白到底未对齐到底会出现什么错误。是否可以举一个例子来明白的讲一下。:)
比如在IA-64上可能会产生segfaults。
虽然我也弄Linux内核,但我不和嵌入式打交道。;-)
|