请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于malloc申请到的内存空间

老师,我想问下 cpu在执行可执行程序时,执行到malloc时 是会改变硬盘上的.exe文件内容么(比如加入malloc到的虚拟空间)?
我认为是会的吧,如果OS要换出malloc申请的堆内存 肯定要放在该进程对应的.exe文件中的吧,但这又是怎么实现的呢?

正在回答

1回答

不是的呢,.exe文件是不会发生改变的,否则每次运行,.exe都应该得到不同的MD5才对,然而实际不是。

在运行过程中,计算机会把exe文件加载到内存,然后按照程序运行的过程,分配和回收内存,内存和这个程序的关系是通过操作系统的内存管理来完成的,也即是由操作系统管理内存和程序的关联关系,所以它和exe文件没有关系。

希望对你有所帮助。

0 回复 有任何疑惑可以回复我~
  • 提问者 sadcloud #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-03-05 20:32:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信