免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5782 | 回复: 16
打印 上一主题 下一主题

[C] 为什么c语言的NULL地址是被保留的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-01 17:51 |只看该作者 |倒序浏览
我记得4G线性空间的低3G是用户空间,最高的1G是系统空间,
为什么0地址不能用呢,多谢

论坛徽章:
0
2 [报告]
发表于 2011-03-01 17:55 |只看该作者
NULL是多少以及是不是被保留和具体的系统平台有关。
你用C语言写OS的时候可能需要访问0地址空间,这时候0就不是被保留的地址。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
3 [报告]
发表于 2011-03-01 18:33 |只看该作者
NULL跟定義有關啊。

论坛徽章:
9
摩羯座
日期:2013-08-15 15:18:48狮子座
日期:2013-09-12 18:07:47金牛座
日期:2013-09-16 13:23:09辰龙
日期:2013-10-09 09:03:27白羊座
日期:2013-10-17 13:32:44子鼠
日期:2014-04-23 15:09:38戌狗
日期:2014-09-17 11:37:542015年亚洲杯之韩国
日期:2015-03-26 10:16:442015亚冠之武里南联
日期:2015-08-18 14:55:52
4 [报告]
发表于 2011-03-01 19:25 |只看该作者
你所能访问的都是逻辑地址,而不是物理地址。
零地址在逻辑上不可用,在物理上任何一块内存都可以访问(有相应的硬件和软件寻址支持的话)。

论坛徽章:
0
5 [报告]
发表于 2011-03-01 20:27 |只看该作者
0地址处的内存既然不能malloc分配,那么,一直闲置吗

论坛徽章:
9
摩羯座
日期:2013-08-15 15:18:48狮子座
日期:2013-09-12 18:07:47金牛座
日期:2013-09-16 13:23:09辰龙
日期:2013-10-09 09:03:27白羊座
日期:2013-10-17 13:32:44子鼠
日期:2014-04-23 15:09:38戌狗
日期:2014-09-17 11:37:542015年亚洲杯之韩国
日期:2015-03-26 10:16:442015亚冠之武里南联
日期:2015-08-18 14:55:52
6 [报告]
发表于 2011-03-01 20:32 |只看该作者
本帖最后由 w_anthony 于 2011-03-01 20:33 编辑
0地址处的内存既然不能malloc分配,那么,一直闲置吗
湿了耶 发表于 2011-03-01 20:27



逻辑意义上的内存只是对物理内存的一种映射关系,一个进程中有效的逻辑内存的页并不都是连续的,零地址的逻辑页根本不存在,有什么闲不闲置的说法?

论坛徽章:
0
7 [报告]
发表于 2011-03-01 20:43 |只看该作者
这个0地址不可用,是内核决定的还是编译器决定的呀

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2011-03-01 20:50 |只看该作者
逻辑意义上的内存只是对物理内存的一种映射关系,一个进程中有效的逻辑内存的页并不都是连续的,零地 ...
w_anthony 发表于 2011-03-01 20:32
你指的逻辑页应该就是线性地址空间上的吧?那就应该通常上都是连续的,然后经过OS的内存管理单元和硬件MMU映射后的物理地址通常都是不连续的。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2011-03-01 20:50 |只看该作者
这个0地址不可用,是内核决定的还是编译器决定的呀
湿了耶 发表于 2011-03-01 20:43
应该是内核的内存管理子系统决定的。

论坛徽章:
0
10 [报告]
发表于 2011-03-01 21:06 |只看该作者
应该是内核的内存管理子系统决定的。
L_kernel 发表于 2011-03-01 20:50



   
汗,那么DOS、Windows、linux、Mac这些系统的内核都实现了这一个特性啦,我觉得有些不可思议。

但是我记得C语言很早就出现了,不知道那些c语言刚诞生的时代,那些史前OS的内核是不是也是这样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP