.Net应用程序执行解释

偶然间,阅读了.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比我上边描述的要更机智些,它会自动个么个方法做个存根,如果存根表明已经使用过,它就根据其提供的地址找到并执行.

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值