Windows可执行文件结构

时间:2011-08-17 11:19:36

标签: windows linux object-files

我知道通常目标文件包含代码,数据,堆和堆栈部分 但我想知道这是如何安排在Windows可执行文件和Linux可执行文件中 我在互联网上搜索并发现了一些结构。
我理解.text是代码而.data是全局变量。
我想知道这里是Linux和Windows平台上的堆栈和堆栈吗?
任何人都可以告诉我可执行文件结构吗?

提前致谢...

1 个答案:

答案 0 :(得分:3)

这是Microsoft发布的规范:

http://msdn.microsoft.com/en-us/windows/hardware/gg463119

这也是一个很好的阅读主题: http://msdn.microsoft.com/en-us/magazine/cc301805.aspx

编辑:

堆栈/堆是在运行时创建/修改的内存中结构,因此实质上它们不在文件本身 - 它们不能。将它们视为内存中的一个特殊位置,每个程序都可以存储运行时数据,而运行时数据则指的是变量。函数调用,返回值以及所有在低级别上都受到影响的细节。