【发布时间】:2012-10-09 17:54:00
【问题描述】:
我的意思是物理内存,RAM。
在C语言中你可以访问任何内存地址,那么操作系统如何阻止你的程序改变不在你程序内存空间中的内存地址呢?
它是否为每个程序设置了特定的内存地址作为开始和结束,如果是,它如何知道需要多少。
【问题讨论】:
-
请搜索“虚拟内存”一词,这是一个相当广泛的主题,并且取决于一堆东西(主要是 CPU、操作系统)。
-
好的,请不要投反对票,因为我对这一切都不太了解。
-
不,在 C 中你可以不访问任何内存地址。一个指针只有当它是一个对象的地址时才有效。
-
@Apeee 好吧,只是一个注释(不打算投反对票)——仅仅因为你对此不太了解,并不意味着投反对票是无效的。 :) 否则,任何问题都不会被否决。
-
我认为@KerrekSB 正在谈论 c 标准(我不确定它是否适用)。实际上,问题不在于语言。