计算问题
  Home FAQ Contact Sign in
cn.comp.programm only
 
Advanced search
POPULAR GROUPS

more...

cn.comp.programm Profile…
 Up
计算问题         


Author: NewBlue
Date: Feb 27, 2008 01:00

32位计算机,C/C++里面 int long ulong int*(包括其他指针) 都是四字节。

short是二字节。这二字节会不会因为对齐而实际上使用四字节呢?

--
机器重新开动,系统重新安装,建立新的思想,迎接新的局面,一切重新再来
用仇人的血洗刷自己的耻辱,用自己的眼泪洗刷自己的软弱
40 Comments
Re: 计算问题         


Author: snnn
Date: Feb 27, 2008 05:58

NewBlue 写道:
> 32位计算机,C/C++里面 int long ulong int*(包括其他指针) 都是四字节。
>
> short是二字节。这二字节会不会因为对齐而实际上使用四字节呢?
>
>
具体情况具体而定。
struct中,会因为对齐而增加空间的使用。而相同类型的变量组成的数组不会。
局部变量在栈上的分布一般也会对齐。
1 Comment
Re: ¼ÆËãÎÊÌâ         


Author: Ö£»Ô½Ü
Date: Feb 27, 2008 19:27

"NewBlue" yaako.com> дÈëÏûÏ¢ÐÂÎÅ:uwsoqlqor.fsf@yaako.com...
>
> 32λ¼ÆËã»ú£¬C/C++ÀïÃæ int long ulong int*£¨°üÀ¨ÆäËûÖ¸Õ룩 ¶¼ÊÇËÄ×Ö½Ú¡£
>
> shortÊǶþ×Ö½Ú¡£Õâ¶þ×ֽڻ᲻»áÒòΪ¶ÔÆë¶øÊµ¼ÊÉÏʹÓÃËÄ×Ö½ÚÄØ£¿
>
> --
> »úÆ÷ÖØÐ¿ª¶¯£¬ÏµÍ³ÖØÐ°²×°£¬½¨Á¢ÐµÄ˼Ï룬ӭ½ÓеľÖÃæ£¬Ò»ÇÐÖØÐÂÔÙÀ´
> ÓóðÈ˵ÄѪϴˢ×Ô¼ºµÄ³ÜÈ裬ÓÃ×Ô¼ºµÄÑÛÀáÏ´Ë¢×Ô¼ºµÄÈíÈõ
²»»á
no comments
Re: 计算问题         


Author: NewBlue
Date: Feb 27, 2008 20:28

属于第一种,要对齐

[newblue@bEyoOo ~]$ cat snnn
> NewBlue 写道:
>> 32位计算机,C/C++里面 int long ulong int*(包括其他指针) 都是四字节。
>>
>> short是二字节。这二字节会不会因为对齐而实际上使用四字节呢?
>>
>>
> 具体情况具体而定。
> struct中,会因为对齐而增加空间的使用。而相同类型的变量组成的数组不会。
> 局部变量在栈上的分布一般也会对齐。

--
机器重新开动,系统重新安装,建立新的思想,迎接新的局面,一切重新再来
百般都有命,半点不由人
no comments
Re: 计算问题         


Author: WANG Cong
Date: Feb 28, 2008 02:57

On Wed, 27 Feb 2008 21:58:05 +0800,snnn wrote:
> NewBlue 写道:
>> 32位计算机,C/C++里面 int long ulong int*(包括其他指针) 都是四字节。
>>
>> short是二字节。这二字节会不会因为对齐而实际上使用四字节呢?
>>
>>
> 具体情况具体而定。
> struct中,会因为对齐而增加空间的使用。而相同类型的变量组成的数组不会。 局部变量在栈上的
分布一般也会对齐。

数组元素之间不会有“空洞”。;-)

你提到的入栈的东西一般也会对齐,没错,因为对齐可以提高存却效率。而且对于risc
机器,访问未对齐的地址是非法的。
no comments
Re: 计算问题         


Author: ·çÖÐÖ½Ò³
Date: Feb 28, 2008 10:05

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这种东东,一直要求必须要对齐地址,我也一直小心翼翼的使用。
但我一直想弄明白到底未对齐到底会出现什么错误。是否可以举一个例子来明白的讲一下。:)
Show full article (1.03Kb)
no comments
Re:         


Author: WANG Cong
Date: Feb 28, 2008 20:30

On Fri, 29 Feb 2008 02:05:48 +0800,·çÖÐ֜ҳ wrote:
Show full article (1.17Kb)
no comments
Re: 计算问题         


Author: buzzard
Date: Feb 28, 2008 22:28

On Fri, 29 Feb 2008 02:05:48 +0800, 风中纸页 126.com> wrote:
Show full article (1.55Kb)
no comments
Re:         


Author: WANG Cong
Date: Feb 29, 2008 00:59

On Fri, 29 Feb 2008 14:28:45 +0800,buzzard wrote:
Show full article (1.44Kb)
no comments
Re: ŒÆËãÎÊÌâ         


Author: Spike
Date: Feb 29, 2008 00:50

不要对齐地址了,还是先对齐一下时间吧,WANGCong兄的系统时间总快十几分钟,
发出来的不仅是未来帖,而且在新inbox中没有显示
Show full article (1.66Kb)
no comments
 
1 2 3 4 5