.Net应用程序执行解释

来源:互联网 发布:软件群发 编辑:程序博客网 时间:2024/04/29 22:01

偶然间,阅读了.Net框架精髓一书,感觉从现在开发程序,简直就是做盖茨出的填空题!不信,你就跟我来看看到底Microsoft都干了些什么?

一个.Net应用程序实际上和传统的Windows PE上进行了一些.Net或CLR的扩展.当开始请求运行时(如,你双击应用程序),OS Loader按照老办法装载程序文件.也正是上述的扩展,使得一个早就埋藏好的家伙_CorExeMain就立刻启动CLR,并获得控制权.请记住冲这里我们就要开始填空了.

CLR马上寻找一扇叫static void Main()的门,找到后利用CLR的Class Loader马上载入其所在的类.接下来就是验证代码安全,JIT编译,最后才是你辛苦编写的的代码的Native Code.

接下来,就是Class Loader和Native Code进行反复的找啊,载啊,查啊,译啊,执行!

stop!

CLR比我上边描述的要更机智些,它会自动个么个方法做个存根,如果存根表明已经使用过,它就根据其提供的地址找到并执行.

哦,原来问题还没写清楚,看来还要提高写作!

原创粉丝点击