.exe 和 .pe 文件之间的区别?
Difference between .exe and .pe files?
编译时visual studio c# 应用程序将生成 PE 和 EXE 文件。
那么PE文件和EXE文件的主要区别是什么?
据我所知,PE 文件包含
PE/COFF Headers,
CLR Headers,
CLR Data,
Meta Data,
IL code,
.data,.text...
比 exe 包含什么?.PE 与 EXE 有何不同?
可移植可执行文件 (PE) 是包含操作系统正确加载可执行代码 (.exe, .dll, ...)
这可能包括 linking, resource management, TLS 数据的动态库引用等。
Executables (.exe),但是,是表示计算机程序上主要执行点的文件,即,用 C# 术语来说,包含 Main 函数或入口点的文件。
因此,PE
代表可移植的可执行文件,它是 格式 用于 Windows 32 位和 64 位环境中的可执行二进制文件的文件。
据我了解,生成的 PE
文件中的信息将包含:
- Headers
- 元数据
- CLR 数据段
但是,IL 代码将在 EXE
文件中,因为它应该是独立于平台的,并且当您 运行 应用程序(Just-in time-compiler
). PE
部分还负责 CLR 的初始化。
请记住,PE
部分可以 在 可执行文件中,这在大多数应用程序中更有意义。
.exe文件是PE文件的一个子集,而PE文件包括.exe、.dll和.ocx文件。
编译时visual studio c# 应用程序将生成 PE 和 EXE 文件。 那么PE文件和EXE文件的主要区别是什么? 据我所知,PE 文件包含
PE/COFF Headers,
CLR Headers,
CLR Data,
Meta Data,
IL code,
.data,.text...
比 exe 包含什么?.PE 与 EXE 有何不同?
可移植可执行文件 (PE) 是包含操作系统正确加载可执行代码 (.exe, .dll, ...)
这可能包括 linking, resource management, TLS 数据的动态库引用等。
Executables (.exe),但是,是表示计算机程序上主要执行点的文件,即,用 C# 术语来说,包含 Main 函数或入口点的文件。
因此,PE
代表可移植的可执行文件,它是 格式 用于 Windows 32 位和 64 位环境中的可执行二进制文件的文件。
据我了解,生成的 PE
文件中的信息将包含:
- Headers
- 元数据
- CLR 数据段
但是,IL 代码将在 EXE
文件中,因为它应该是独立于平台的,并且当您 运行 应用程序(Just-in time-compiler
). PE
部分还负责 CLR 的初始化。
请记住,PE
部分可以 在 可执行文件中,这在大多数应用程序中更有意义。
.exe文件是PE文件的一个子集,而PE文件包括.exe、.dll和.ocx文件。