.Net Framework CLR 托管程序执行机制
来源:互联网 发布:哈密顿方程 知乎 编辑:程序博客网 时间:2024/05/16 07:16
Managed Execution Process
Running Code
Common Language Runtime(CLR)是.Net托管程序执行的基础,在某个方法执行前,MSIL代码会被Just in Time(JIT)编译器编译成本地特定的处理器代码。每个方法在第一次调用前都会被JIT编译器生成本地代码,而下一次执行时,则直接调用已经存在的JIT编译的本地代码。 JIT编译和执行会一直不断重复直到执行结束。
在执行过程中,托管代码接受如垃圾回收,安全,与非托管代码交互,跨语言调试支持,增强部署,版本支持等服务。
在window XP和vista, 操作系统loader会通过检查COFF头的一个字节位判断程序是否为托管模块, 如果是,则加载mscoree.dll,_CorValidateImage方法 和_CorImageUnloading方法会通知loader托管模块已加载和已卸载.
_CorValidateImage 执行以下动作:
1.确认代码是有效的托管代码
2. 把映像的入口设成当前运行时入口
在64位window系统, 会把映像在内存中的格式由PE32转换为PE32+格式
参考: http://msdn.microsoft.com/en-us/library/k5532s8a(v=vs.110).aspx#introduction
0 0
- .Net Framework CLR 托管程序执行机制
- 脱离.NET Framework运行托管程序.
- .Net Framework的公共语言执行环境(CLR)
- 设计.Net Compact Framework CLR
- .NET Framework CLR 版本检测
- .NET 托管代码 IL CLR关系
- C++手动加载CLR运行托管程序(CLR Hosting)
- .Net 中的托管与非托管 (CLR)
- .NET托管代码和非托管代码,CLR概…
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项。
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项
- "禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项。
- [转]禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项
- 禁止在.net framework中执行用户代码。启用“clr enabled” 配置选项——解决办法
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项--处理方法
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项 解决办法
- 成熟男人的标准 你达到几条
- 认识JavaScript中的作用域和上下文
- Maximum Subarray
- 除了陆展博和关谷,其他人の收入,一辈子在上海也只能蜗居吧?
- 第5天 反转链表
- .Net Framework CLR 托管程序执行机制
- 黑马程序员-接口
- Parse XML Using Java DOM API
- IOS开发之苹果私有API的使用
- 入门训练 A+B问题
- HDU-1272 小希的迷宫 并查集
- 多线程与临界区
- 真的好想你
- Xcode运行时自动更新资源