王爽汇编实验题5的疑问
实验5第二题第四问如下定义的段:
name segment
...
name ends
如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为?
占有的空间指所占用多少内存单元吗?如果是的话,那就应该N/8 吧。
但看到有的说是(N/16+1)*16 .
请问这题怎么理解?
王爽是谁,王爽实验是什么?求详细
如果段中的数据占N个字节
都说是N字节了嘛,怎么会要除以8呢。
如果你看到答案说要跟16有关系,那肯定是因为他想说在那个架构上程序默认以16字节为边界对齐,所以不足16字节的部分数据也要填够16字节。“对齐”是alignment,这种填充叫做padding。 题目就是这样了,没有再详细了。
问题是我没看明白这题意思,到底是占多少内存单元,还是看它的地址在哪里?
“该段实际占有的空间为?”这话是什么含义。 就是说一个段就是1~16个字节,多出的比如现在有18个字节,多出的就当一个段,所以占了32个字节? 现成的文献很多,我不想码字了……
这个时候你需要 http://en.wikipedia.org/wiki/Data_structure_alignment
页:
[1]