采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我想问下 cpu在执行可执行程序时,执行到malloc时 是会改变硬盘上的.exe文件内容么(比如加入malloc到的虚拟空间)? 我认为是会的吧,如果OS要换出malloc申请的堆内存 肯定要放在该进程对应的.exe文件中的吧,但这又是怎么实现的呢?
不是的呢,.exe文件是不会发生改变的,否则每次运行,.exe都应该得到不同的MD5才对,然而实际不是。
在运行过程中,计算机会把exe文件加载到内存,然后按照程序运行的过程,分配和回收内存,内存和这个程序的关系是通过操作系统的内存管理来完成的,也即是由操作系统管理内存和程序的关联关系,所以它和exe文件没有关系。
希望对你有所帮助。
非常感谢!
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.1k 17
1.4k 14
1.0k 13
1.1k 11