我正在学习.NET框架编程模型。
当运行托管exe(因此没有机器代码)时,CLR(mscorlib.dll)如何接管并执行JIT编译,或者谁调用CLR或者它是否一直在运行?
答案 0 :(得分:2)
检查that question,其关联的问题也很好。
顺便说一下,mscorlib.dll不是CLR,它只包含基本的托管类型(参见that question)。
答案 1 :(得分:1)
托管可执行文件仍包含标准Portable Executable (link)*标头,其中包含以下信息:
启动任何应用程序时,窗口会读取PE标头 - 在.NET应用程序的情况下,标头将其标识为托管程序集,然后将执行转移到CLR。
*请参阅:.NET,元数据和PE格式部分