什么是代码部分?

时间:2012-03-01 02:27:17

标签: windows assembly

code sectiondata section适用于哪种情境?它是Win32进程的一部分还是Windows便携式exe的一部分? 在C中,函数指针是否引用代码部分中的地址?

2 个答案:

答案 0 :(得分:2)

它是可移植可执行格式规范的一部分。但是,大多数文件格式也有部分抽象。实际上,这就是为什么你会看到像BFD这样的库提供这种常见抽象的视图的原因。

每个部分都可以有一些标志来描述它具有哪种访问权限。通常,数据部分可能具有读/写但没有执行访问权限,而代码部分可能具有读/写但不具有写访问权。代码部分有.text等部分的通用名称,但没有强制要求该部分必须像这样命名。事实上,一些积极的可执行打包程序将删除部分名称。

这些部分是在编译时定义的,动态链接器使用这些信息来决定如何将程序映射到内存,设置页面保护等。

答案 1 :(得分:1)

您应该阅读Wikipedia article on the Portable Executable (Window .EXE) format。特别是布局部分。