CLR如何识别应用程序的主要方法以便开始执行? 执行.exe文件时CLR执行的操作顺序究竟是什么?
答案 0 :(得分:7)
这是一个C#标准,入口点称为Main
。当编译为IL时,它被标记为.entrypoint
,这是CLR用于识别要启动的方法的内容。
(资料来源:Why is Main method private?)
.NET可执行文件也是普通的Win32可执行文件。在正常的Win32入口点处放置一个启动CLR的小型引导代码。在WinXP之前的操作系统上,可执行文件作为普通的Win32 exe启动,调用启动CLR的boostrap代码。一旦启动,CLR就会在IL代码中查找.entrypoint并在那里开始执行。在WinXP及更高版本上,OS将该文件识别为CLR可执行文件并直接调用CLR。