最近在学C语言 Linux环境下,本人想了解一下程序怎么分配内存的?有几块内存区域? 有堆、堆栈还有哪些区域?编译后程序是怎么执行的? 本人想知道程序从开始执行到结束的整个过程,该看点什么资料? 有没有推荐的书?
解决方案
10
看汇编吧,不过前期没有必要了解这么深~
20
看下这两个贴就大致了解了:
[url=http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html][/url]
[url=http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html][/url]
30
看下这两篇博文就基本明白了
http://blog.csdn.net/gytanonymous/article/details/7060574
http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html
http://blog.csdn.net/gytanonymous/article/details/7060574
http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html
10
看操作系统原理。
10
百度搜 “C 内存管理”
10
直接看标准吧
10
参考Linux源代码中加载可执行文件相关片断。