为什么转储的 IL 文件比 .exe 文件小?

Why are dumped IL files smaller than .exe files?

当我将 .exe 文件反汇编为中间语言时,为什么我得到的转储小于可执行文件?是因为没有包含静态链接代码吗?

EXE 文件不仅仅包含二进制程序代码。它还可以包含嵌入式资源、静态链接库、字符串、header、元数据信息、符号table/debugging 信息和许多其他内容。

此外,请记住,编译过程会经历一个优化阶段,该阶段可能会转换您的代码以对其进行优化。反汇编代码可能与您的原始源代码不是 1 对 1 匹配。