什么是Windows可移植可执行文件格式?

Windows 可移植可执行文件 (PE) 是可执行文件和其他二进制文件类型的 Windows 本机文件格式。PE 文件格式被设计为独立于平台,因此它可以在任何运行相同操作系统版本和处理器体系结构的 Windows 机器上使用,该文件是为该文件编译的。

因此,让我们剖析 Windows PE 文件格式,并了解其结构和组成部分。

什么是 Windows 可移植可执行文件?

什么是Windows可移植可执行文件格式?

在探索 Windows 可移植可执行文件格式之前,了解基础知识很重要。让我们退后一步,了解一下 Windows PE 的底层概念——COFF。

当您将源代码编译为程序时,编译器会生成一个目标文件 (.obj)。该目标文件包含二进制格式的计算机指令。

COFF 或通用对象文件格式是一组用于表示二进制指令的标准化约定。COFF 有助于保持跨平台兼容性,因为所有 COFF 文件格式都遵循相同的一组规则和约定来组织代码和数据。尽管 COFF 最初是为在 *NIX 系统上使用而开发的,但它现在在所有平台上无处不在。

Windows 可移植可执行 (PE) 文件格式是 COFF 的修改版,已开发为专门用于32 位和 64 位 Windows 系统。与为目标文件提供标准化格式的 COFF 不同,Windows PE 为可执行文件和库文件提供标准化格式。

它包含部分和标题,提供有关可执行文件的信息,并帮助系统加载程序管理与可执行文件相关的数据。PE 文件中的标头帮助系统加载程序将文件映射到内存、解决 API 导出/导入等依赖关系、管理资源并准备文件以供执行。

Linux 也有自己的 COFF 迭代;它称为可执行链接文件或简称为 ELF 二进制文件。您可以通过在 Linux 上以文件名作为第一个参数运行文件命令来检查文件是否为 ELF 。

Windows 可移植可执行文件的结构 

什么是Windows可移植可执行文件格式?

可移植可执行文件格式由几个组件组成,每个组件都有特定的用途。这些组件包括:

  • 节头,描述文件每个节的布局和特征 节本身,包含可执行代码、数据和资源。
  • PE 标头,它提供有关文件的整体结构和要求的信息。
  • DOS 标头,其中包含一个小程序,该小程序在文件在 DOS 系统上执行时运行。
  • 最后是 PE 部分标题,它描述了每个部分在文件中的位置和属性。

总的来说,这些组件协同工作以创建一种结构化格式,允许操作系统正确加载、执行和管理文件中包含的可执行代码。让我们确切了解每个组件的作用。

DOS 标头

PE 文件的第一部分称为 DOS 标头。少量可执行代码存储在 DOS 头文件中,这些代码也可以在 DOS 机器上运行。

此代码也称为 MS-DOS 存根,用于在不支持 PE 文件的系统上抛出错误消息。

文件头

Portable Executable 标头提供有关可执行文件的信息,例如文件有多大、不同部分所在的位置以及可执行文件需要哪些资源。PE 标头还包含有关可执行文件类型的信息,无论它是Windows .DLL 文件还是 .EXE。

章节标题

实现部分是为了组织可执行文件的许多组件,例如代码、数据和资源(如文本字符串、图像等)。部分标题包括有关每个部分的大小和位置的信息,以及任何关联的标志。

与每个节头关联的标志可以指示该节的各种属性,例如它是可执行的、可写的还是可读的。这些标志有助于操作系统在程序执行期间正确加载和管理每个部分的内容。

部分

这些部分本身包含可执行文件的真实代码、数据和资源。每个段都与特定的内存边界对齐,并具有自己的一组属性,这些属性会影响操作系统如何处理它。

现在您对 Windows 可移植可执行文件格式了如指掌

Windows 可移植可执行文件是一种强大且通用的文件格式,用于生成各种 Windows 应用程序和系统组件。通过了解 PE 文件格式的结构,开发人员可以构建利用 Windows 独特特性的高效应用程序。

除了深入了解您的应用程序将运行的平台之外,通过遵循一些标准的良好编码实践,您将能够最大限度地提高应用程序的质量,而不管它运行在什么平台上。

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
赞 (0)
上一篇 2023年6月23日
下一篇 2023年6月23日

相关推荐

  • 如何访问Windows Home中的组策略编辑器

    组策略管理是为 Windows 专业版、企业版和教育版保留的功能。但通过一些调整,家庭用户可以启用本地组策略编辑器,或者您可以使用第三方工具来访问更全面的设置集合。我们向您展示这两…

    2023年7月10日
  • 如何将您的电脑重置为出厂设置,WIN系统还原方法

    您的电脑运行速度是否比平时慢?它是崩溃、停滞还是缓慢卡顿?你担心它有 病毒吗?可能是重设它的时候了——尤其是当您打算以旧换新或出售您的设备时。 为什么要重置您的电脑? 随着时间的推…

    2023年5月19日
  • 如何解决电脑屏幕刷新频率仅限于60的问题?

    如果您的显示器在Windows中停留在60Hz,那么这篇文章可能会有所帮助。具有高刷新率的显示器可提供更流畅、响应更灵敏的计算体验。但最近,一些用户抱怨他们的显示器卡在60Hz的分…

    2023年11月23日
  • 2023年任何新电脑上必备的20个Windows软件

    你要买新电脑吗?它可以是一种令人振奋的体验,可以鼓励提高生产力和创造力。但是,您如何选择要下载和安装的软件呢?为了帮助您更轻松地进行选择,这里提供了适用于任何新 电脑 的基本 Wi…

    2023年6月3日
  • 提高Win10更快并性能的14种方法,优化运行速度

    让 Windows 10 或 11 执行得更快很容易。您只需要一些简单的提示和技巧。本文介绍了几种使 Windows 10 和 11 更快并提高其性能的方法。 使 Windows …

    2023年7月1日
  • Windows截图工具与PrintScreen:哪个最适合您?

    微软改变了PrintScreen键在Windows10和11上的工作方式。它之前会捕获全屏截图,但现在它会打开Snipping工具。虽然许多用户喜欢截图工具捕获各种尺寸和格式的屏幕…

    2023年6月11日
  • 如何轻松从Windows10中删除过时软件

    臃肿软件对于技术所有者来说是一个祸害。制造商在你闪亮的新笔记本电脑、手机或平板电脑中预装了应用程序,以增加他们的口袋里的钱。您留下了一堆通常无用的程序,占用了本已有限的存储空间。 …

    2023年7月6日
  • 如何在电脑上开启学生模式,提高学习效率

    您组织计算机进行学习的方式直接影响您的工作效率。您所做的每一个小调整都会为您节省几分钟的时间,如果做得正确,这几分钟的时间加起来就可以节省很多时间。 如果您想虚拟上课或在宿舍中设置…

    2023年7月6日
  • Windows电脑卡顿的5个常见原因和优化技巧

    在某些时候,每个人都想知道是什么导致了他们的计算机速度变慢。在运行缓慢的计算机上工作一点乐趣也没有,而且会降低你的工作效率。 虽然所有计算机都会随着时间的推移而变慢,但在许多情况下…

    2023年7月17日
  • 什么是Windows注册表及其工作原理?

    Windows注册表是计算机中最令人生畏的部分之一-所有用户友好性都消失在一堆看似难以理解的字符组合中。值得庆幸的是,一点专业知识可以帮助指导您。继续阅读以了解如何使用regedi…

    2023年6月28日