资讯
安全
论坛
下载
读书
程序开发
数据库
系统
网络
电子书
微信学院
站长学院
QQ
手机软件
考试
安全
|
web开发
|
软件开发
|
移动开发
|
数据库
|
网络
|
系统
|
网站
|
考试认证
|
其他
|
读书频道
>
网站
>
网页设计
>
Learning hard C#学习笔记
1.2.3 C#代码的执行过程
15-02-26
下载编辑
收藏
我要投稿
本文所属图书 >
Learning hard C#学习笔记
本书是一本面向C 初学者的实用教程。从开发基础开始,由浅入深地讲解了C 的基础语法和重要特性,分析了在开发中必须掌握的技术要领和经验心得。语言轻松幽默,通过精心选择的实例和详尽的代码全面介绍了C 最具特
立即去当当网订购
在Visual Studio开发工具下,我们只需要按F5就可以编译和执行C#代码了,但是C#代码到底是如何执行的呢?为了使C#代码能够运行,必须将其转换为目标操作系统能够理解的语言,即本机代码(native code)。在.NET Framework平台下,该过程包括两个阶段。
C#代码编译为中间语言代码的阶段——在编译C#代码时,并不是立即创建专用于操作系统的本机代码,而是由C#编译器(Visual Studio中集成了C#编译器)把代码编译为通用中间语言(Common Intermediate Language,CIL)代码。
中间语言代码编译为本机代码的阶段——要使C#代码能够运行,还需进一步将CIL代码转换为特定CPU的本机代码,该过程由即时编译器(Just-In-Time,JIT)来完成。下面详细介绍C#代码的编译和执行过程。
1. C#代码编译为中间语言代码阶段
并不是只有C#代码才能被编译为中间语言代码,其他面向.NET的语言(如VB .NET)在执行之前也都需要先编译为中间语言代码。该过程由对应的编译器去完成,具体过程如图1-9所示。
最终创建的IL代码将存储在一个程序集中,程序集中除IL代码外,还将包括元数据和可选的资源文件。元数据用来描述代码中的类型,这种描述针对3个方面:类型定义的描述、类型成员的描述和类型引用成员的描述。可选的资源文件指IL代码中使用的其他数据,如图片文件等。
程序集分为两种:扩展名为.exe的可执行文件,以及扩展名为.dll的可供其他程序调用的库文件。
2. 中间语言代码编译为本机代码阶段
为了使IL代码能够运行,必须把它编译为本机代码,即CPU指令。这个过程由CLR的JIT编译器来完成。其编译过程如图1-10所示。
3. 执行本机代码
JIT编译生成本机代码之后,编译好的本机代码会被放置到一个缓冲区中缓存,下次再调用相同的代码时,可直接运行缓冲区中现有的本机代码,从而避免重新验证IL代码以及把它编译为本机代码的过程。使用这种方法,系统只在首次调用时才会造成一些性能损失(即发生JIT过程)。
点击复制链接 与好友分享!
回本站首页
分享到:
更多
您对本文章有什么意见或着疑问吗?请到
论坛讨论
您的关注和建议是我们前行的参考和动力
上一篇:
1.3 功能
下一篇:
1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
112 |
2.3 归纳总结
112 |
2.2.3 对程序进行调试
112 |
2.2.2 编译和运行程序
112 |
2.2.1 创建控制台项目
112 |
2.1 开发环境的搭建
112 |
1.3 归纳总结
112 |
1.2.3 C#代码的执行过程
112 |
1.2.2 C#与.NET Framework的关系
3.2.3 Bootstrap栅格系统
3.4.4 自适应显示/隐藏页面内容
3.3.1 固定式布局
2.1.1 下载Bootstrap
3.3.2 流式布局
3.4.6 响应式Bootstrap
3.4.2 设计响应式图片
3.2.4 响应式Bootstrap栅格系统
文章
下载
读书
·
Win2000下关闭无用端口
·
禁止非法用户登录综合设置 [win9x篇]
·
关上可恶的后门——消除NetBIOS隐患
·
网络入侵检测系统
·
潜伏在Windows默认设置中的陷井
·
调制解调器的不安全
·
构建Windows 2000服务器的安全防护林
·
SQL Server 2000的安全配置
·
Windows优化大师注册机源码
·
Aspcode动画教程
·
WIN 2000服务器防止ICMP数据包攻击教程
·
实现网络隐身的简单方法
·
手工进行克隆帐号
·
用W32DASM破解网页合并器的密码
·
注册表操作动画教程
·
冰河陷阱v1.2
·
黑客攻防技术宝典:Web实战篇(第2版)
·
超级网管员——网络安全
·
代码大全(第二版)
·
软件之道:软件开发争议问题剖析
·
CSS插件工具箱
·
CSS入门经典(第3版)
·
C#并行编程高级教程:精通.NET 4 Pa
·
CMMI+敏捷整合开发
关于我们
|
联系我们
|
广告服务
|
投资合作
|
版权申明
|
在线帮助
|
网站地图
|
作品发布
|
Vip技术培训
版权所有:
红黑联盟
--致力于做最好的IT技术学习网站