Exe和托管DLL区别是什么?

💡 原文中文,约600字,阅读约需2分钟。
📝

内容提要

在win平台下,生成的exe和托管DLL文件可以在bin/debug目录下找到。AOT只需要exe文件即可运行。Roslyn编译源码生成的exe是非托管exe,包含启动CLR入口的代码,引导CLR加载托管dll。AOT的exe是静态链接,将托管DLL生成目标文件后通过链接器链接成可执行文件。AOT的exe既是启动器又是运行器。AOT的Exe和Roslyn生成的exe都是非托管的标准pe文件。Roslyn生成的DLL是非托管的扩展PE文件。

🎯

关键要点

  • 在win平台下,exe和托管DLL文件生成于bin/debug目录。
  • AOT只需exe文件即可运行。
  • Roslyn编译生成的exe是非托管exe,包含启动CLR入口的代码。
  • AOT的exe是静态链接的可执行文件,既是启动器又是运行器。
  • AOT的Exe和Roslyn生成的exe都是非托管的标准pe文件。
  • Roslyn生成的DLL是非托管的扩展PE文件。
➡️

继续阅读