我知道目标文件通常有代码、数据、堆和堆栈部分。
但我想知道这在windows可执行文件和Linux可执行文件中是如何安排的。
我在网上搜索了一下,发现了一些结构。
我知道.text是用于代码的,而.data是用于全局变量的。
我想知道在Linux和Windows平台上是不是都有堆栈和堆?
谁能告诉我可执行文件的结构??
先谢谢你...
发布于 2011-08-17 19:43:58
这是微软发布的规范:
http://msdn.microsoft.com/en-us/windows/hardware/gg463119
这也是关于这个主题的一个很好的读物:http://msdn.microsoft.com/en-us/magazine/cc301805.aspx
编辑:
堆栈/堆是内存中的结构,它们是在运行时创建/修改的,因此本质上它们不在文件本身中-它们不可能在文件中。可以把它们想象成内存中的一个特殊位置,在那里每个程序都可以存储运行时数据,我所说的运行时数据是指变量。函数调用,返回值和所有底层的东西。
https://stackoverflow.com/questions/7091974
复制相似问题