Linker 什么是可移植可执行格式?为什么需要它?

Linker 什么是可移植可执行格式?为什么需要它?,linker,exe,Linker,Exe,什么是可执行格式?它们的用途是什么? ex-PE格式、com格式、ms-dos格式 为什么需要它们以及它们包含哪些信息?PE(可移植可执行文件)是.exe、.dll、.sys等的文件格式 PE文件包含封装在其中的代码(程序)和附加信息(例如:导入和导出表、.dll、资源管理)。 Program Loader解释信息并将文件映射到内存,加载所需的共享库。对于问答网站来说,全面讨论所有这些格式包含的内容以及为什么需要它们(或曾经需要它们)是一个过于宽泛的话题。你能把问题缩小范围吗?比如,是什么引发了

什么是可执行格式?它们的用途是什么? ex-PE格式、com格式、ms-dos格式 为什么需要它们以及它们包含哪些信息?

PE(可移植可执行文件)是.exe、.dll、.sys等的文件格式

PE文件包含封装在其中的代码(程序)和附加信息(例如:导入和导出表、.dll、资源管理)。
Program Loader解释信息并将文件映射到内存,加载所需的共享库。

对于问答网站来说,全面讨论所有这些格式包含的内容以及为什么需要它们(或曾经需要它们)是一个过于宽泛的话题。你能把问题缩小范围吗?比如,是什么引发了这个问题?你对其中一种格式有什么特别的问题吗?如果你正在进行一个“我要扩展我对东西的知识”类型的搜索,那么谷歌可能是一个更好的关于这个主题的信息来源。只是想知道这些的工作吗?是的,但这些都是大主题。这些文件格式中有大量的信息,它们有很多用途,例如提供有关可执行文件的信息,用于操作系统、调试器、抖动(取决于格式)、重定位表等。正如我所说,对于问答网站来说,这些信息太广了,根本没有“公正”的含义。你真的必须缩小这个问题的范围。一个油嘴滑舌的回答是,它们是允许操作系统加载和理解可执行文件内容所必需的。之所以有不同的格式,是因为不同的操作系统和不同的人有不同的需求。这些结构是编译器做的还是加载器做的?