.NET平台概念问题?

在.NET中,是谁把源代码编译成了中间语言,之后由JIT编译成了二进制程序,CLR还参与了吗,他在里面起到什么作用,程序运行的时候,CLR还起作用吗?... 在.NET中,是谁把源代码编译成了中间语言,之后由JIT编译成了二进制程序,CLR还参与了吗,他在里面起到什么作用,程序运行的时候,CLR还起作用吗? 展开
 我来答
匿名用户
2013-07-29
展开全部
visual stadio。参与了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whm412
2013-07-29 · TA获得超过515个赞
知道小有建树答主
回答量:289
采纳率:66%
帮助的人:282万
展开全部
在.NET中,是谁把源代码编译成了中间语言,
答:一般使用vs.net工具的话,vs.net会调用csc.exe这个命令,将源代码编译成中间语言

之后由JIT编译成了二进制程序,CLR还参与了吗,他在里面起到什么作用,
答:对于JIT和CLR的关系,我只说一下我的理解,你也可参考一下其他方面的书籍。CLR是一套标准,包括:面向对象的编程模型、安全模型、类型系统(CTS)、所有.NET基类、程序执行及代码管理等。JIT(即时编译)是.NET运行可执行程序的基本方式,也就是在需要运行的时候,才将对应的IL代码编译为本机指令。

程序运行的时候,CLR还起作用吗?
答:程序运的时候,主要就是CLR在做。离了他托管程序就运行不了了。
追问
程序运行的时候都是二进制的,CLR也都在控制这个运行的吗?
追答
程序运行时都是由CLR来控制程序的运行。

由JIT编译后的是让本机CPU认识的汇编语言,也就是你说的二进制的。
但这些汇编语言要如何运行,如何进行内存管理、垃圾收集等非常复杂的工作都在CLR当中完成。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甘白卉A8
2013-07-29 · TA获得超过428个赞
知道答主
回答量:210
采纳率:100%
帮助的人:152万
展开全部
CLR常用简写词语,CLR是公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。是一个可由多种编程语言使用的运行环境。CLR的核心功能包括:内存管理、程序集加载、安全性、异常处理和线程同步,可由面向CLR的所有语言使用。并保证应用和底层操作系统之间必要的分离。CLR是.NET Framework的主要执行引擎。
可以监视程序的运行。按照.NET的说法,在CLR监视之下运行的程序属于“托管的”(managed)代码,而不在CLR之下、直接在裸机上运行的应用或者组件属于“非托管的”(unmanaged)的代码。
CLR将监视形形色色的常见编程错误,许多年来这些错误一直是软件故障的主要根源,其中包括:访问数组元素越界,访问未分配的内存空间,由于数据体积过大而导致的内存溢出,等等。包含了一个丰富的语言特性集,保证了它与各种程序设计语言的兼容性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式