C/C ++中有关指针与内存分配问题

vincentcoll 2011-05-23 02:57:22
电脑的内存地址是在什么时候分配的:在硬件上,还是操作系统,还是程序设计编译器..
内存地址总是在变得么???
...全文
114 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
js_xj 2011-05-24
  • 打赏
  • 举报
回复
一般情况下,说“32位操作系统”中的一部分就是指的地址总线,2的32次方=4GB,也就是指这操作系统支持4GB的内存。
但是一般嵌入式开发板硬件上并不能达到这么高的要求,有可能硬件上采用64MB的内存,那为什么系统还能访问4GB大小的内存空间,那是因为内存控制单元MMU的存在,通过MMU就能实现逻辑地址到物理地址的转变,从而能轻松的访问4GB的空间。
这也是本人的一点理解,不对的请指正。
xiaoguangzaia 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 vincentcoll 的回复:]

计算机科学与技术专业有哪些专业与学习内存有关的,听说内存管理是很复杂的》。...
[/Quote]
体系结构啊,微机原理啊,或者讲c/c++一些语言的时候也会提到内存
vincentcoll 2011-05-24
  • 打赏
  • 举报
回复
计算机科学与技术专业有哪些专业与学习内存有关的,听说内存管理是很复杂的》。...
huofen2005 2011-05-23
  • 打赏
  • 举报
回复
内存物理地址是硬件层定死的;--- 实模式的系统是直接操作物理地址的;

保护模式下,问题稍复杂:
逻辑地址是操作系统定死的,无非是给上层应用的指针应用戴个套子,花柳啥的别传给操作系统;
驱动啥的,直接控制硬件的,用的是物理地址。

代码里面,内存地址是API返回的;
你开口跟操作系统要一片内存,操作系统斟酌再三:内存给你了,地址是啥啥啥。
你要是把系统告诉你的地址给忘记了,最后没还,那就是传说中的内存泄露了。
出来混,迟早要还的,要是泄露太多,牛叉操作系统就把你干掉,不牛叉操作系统就自己挂掉~

bdmh 2011-05-23
  • 打赏
  • 举报
回复
不同类型的变量分配时间不一样,地方也不一样

65,199

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧