c# - .exe 和 .pe 文件之间的区别?

标签 c# visual-studio compilation exe portable-executable

编译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 的动态库引用, 资源管理, TLS数据等。

但是,

可执行文件 (.exe) 是表示计算机程序主要执行点的文件,也就是说,用 C# 术语来说,文件包含 Main 函数或入口点。

关于c# - .exe 和 .pe 文件之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757527/

相关文章:

c# - 使用 lambda 表达式查询和转换数据

visual-studio - 如何在 Visual Studio 2015(对于 C++)中仅禁用 SIMD 自动矢量化优化?

c# - Entity Framework 上下文基础选项的定义

c++ - 如何在 Visual Studio 2015 中构建 log4cxx

visual-studio - Visual Studio 2010 : Close All But Selected

git - 让 GIT 忽略/删除 DLL、PDB 和类似生成的文件

c++ - undefined reference c++,异常情况

vim - Windows中的VIM编译

c# - 如何将 C++ COM DLL 'flatten' 转换为标准导出方法? (由 c# 使用)

c# - C#中动态字符串中的变量