鱼C论坛

 找回密码
 立即注册
查看: 3557|回复: 8

关于第6章,实验5,第二题

[复制链接]
发表于 2011-5-8 16:52:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 loop 于 2011-5-29 23:37 编辑

对于如下定义的段:
name segment
........
name ends
如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为?


想了半天想不通,上网看了答案,只说出答案,没说为什么是这个答案。。

请高手详细解释下。只说出答案的就别回答了。答案不是我想要的,我想要的是为什么是这个答案。。另外用DEBUG如何查看也详细说下

还有就是答案后面是什么单位?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-8 16:55:29 | 显示全部楼层
这个问题不同系统有不同的答案的说。
一般加载到内存后,要进行内存对齐。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-8 17:03:15 | 显示全部楼层
那个(N/16+1)*16 是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-8 17:14:20 | 显示全部楼层
本帖最后由 风扫地 于 2011-5-8 17:23 编辑

回复 liuhui88126 的帖子

(N/16+1)*16
这里应该是按C语法理解的吧。。。N/16 没有小数的哦。。只保留整数位
个人觉得这个式子也有点问题。。
N是16的倍数的话,就不用加1再乘以16了。。就直接是N。
。。故乡的风提醒的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-8 17:39:30 | 显示全部楼层
我是不是可以这样理解,0-F为一个空间也就是16B?
如果段中的数据为14个字节,用一个空就就可以存放了,就是16B了?
那如果段中的数据为16个字节,一个空间不是也可以存放,可为什么会是32B呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-8 17:45:40 | 显示全部楼层

是啊。。N如果是16的倍数。。。那就不用加1再乘以16了。。。直接就是N
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-8 17:52:25 | 显示全部楼层
那就是这个公式有问题了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-8 17:52:57 | 显示全部楼层
回复 风扫地 的帖子

算是理解一半了,还不是很清楚,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-8 19:00:26 | 显示全部楼层
按理说这里应该用进一法,不过公式是这样,没办法,在它的地盘搞事,就要遵守它的规则!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 09:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表