Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在学习 .NET 框架编程模型。
当托管 exe 运行时(因此其中没有机器代码),CLR(mscorlib.dll)如何接管并进行 JIT 编译,或者谁调用 CLR 或者它一直在运行?
检查那个问题,它的链接问题也很好。
顺便说一句,mscorlib.dll 不是 CLR,它只包含基本的托管类型(请参阅那个问题)。
托管可执行文件仍然包含一个标准的Portable Executable (link)*标头,其中包含以下信息:
在启动任何应用程序时,Windows 都会读取 PE 标头 - 对于 .NET 应用程序,标头将其标识为托管程序集,然后将执行转移到 CLR。
*请参阅:.NET、元数据和 PE 格式部分