内存空间分几部分,代码段、数据段,栈,堆,还有吗?

bjwqt 2009-09-21 07:50:55
内存空间分几部分,代码段、数据段,栈,堆,还有吗?
---------------------------------------------------
函数代码存放在代码段。声明的类如果从未使用,则在编译时,会优化掉,其成员函数不占代码段空间。

全局变量或静态变量,放在数据段,
局部变量放在栈中,
用new产生的对象放在堆中,

以上是我的理解,不知是否正确。还有没说到的内存空间吗?
...全文
587 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeanszu 2009-09-21
  • 打赏
  • 举报
回复
学习了
别逗我乐 2009-09-21
  • 打赏
  • 举报
回复
呵呵,学习了>
zhenghua809 2009-09-21
  • 打赏
  • 举报
回复
STACK(栈)临时局部
HEAP(堆)动态
RW(读写)全局
RO(只读)代码
Char* s=”Hello,World”; S中“H”存放在内存RO中且不能修改。
jasonnbfan 2009-09-21
  • 打赏
  • 举报
回复
代码段、数据段这个段通常指PE(exe,dll)文件中的SECTONS,这些内容是映射到内存。
和堆、栈不是一个概念。
tutu08 2009-09-21
  • 打赏
  • 举报
回复
学习了
brookmill 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bjwqt 的回复:]
堆和栈是都放在堆栈区吗?
全局区、常量区就放在数据段吗?
[/Quote]
这个不一定,有可能和编译器相关。
比如,有的常量可能会保存在代码段。
bjwqt 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 brookmill 的回复:]
如1楼所说,把代码段、数据段,栈,堆这些并列在一起不太合适
代码段、数据段、堆栈段,这是一个概念
堆、栈、全局区、常量区,这是另一个概念
[/Quote]
堆和栈是都放在堆栈区吗?
全局区、常量区就放在数据段吗?
失落的玛阿特 2009-09-21
  • 打赏
  • 举报
回复
学习
lovecl85 2009-09-21
  • 打赏
  • 举报
回复
占位学习
科技完美生活 2009-09-21
  • 打赏
  • 举报
回复
学习了
brookmill 2009-09-21
  • 打赏
  • 举报
回复
如1楼所说,把代码段、数据段,栈,堆这些并列在一起不太合适
代码段、数据段、堆栈段,这是一个概念
堆、栈、全局区、常量区,这是另一个概念
brookmill 2009-09-21
  • 打赏
  • 举报
回复
还有一个常量区,其中的内容不许修改。
常见的 char *p = "hello"; 这里面的"hello"就保存在常量区
飞天御剑流 2009-09-21
  • 打赏
  • 举报
回复
基本是这样了。

但注意的是,代码段、数据段、栈是CPU级别的逻辑概念,堆是语言级别的逻辑概念。
非兔子_Logic0 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cyblueboy83 的回复:]
代码段、数据段、堆栈段,这是一个概念
堆、栈、全局区、常量区,这是另一个概念
[/Quote]

这个是正解
FILWFQFE 2009-09-21
  • 打赏
  • 举报
回复
学习了
总感觉似懂非懂
sun007700 2009-09-21
  • 打赏
  • 举报
回复
study~
herman~~ 2009-09-21
  • 打赏
  • 举报
回复
代码段、数据段、堆栈段,这是一个概念
堆、栈、全局区、常量区,这是另一个概念

65,194

社区成员

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

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