简述.net程序编译执行机制
发布网友
发布时间:2022-04-24 18:59
我来回答
共4个回答
热心网友
时间:2022-04-27 11:46
.NET执行机制其实同很多的编程语言有一些不同。一般的高级程序语言会直接将代码编译成为机器语言,之后由本地机执行这些高效的机器代码从而实现编译过程。而.NET中的编译机制会在中间多一个环节,就是先将高级语言(如C#、VB)编译成为中间语言(IL),这些中间语言是.NET框架中所有的语言编译后的结果。这样说吧,比如我用C#、VB语言编写了两个类,编译之后的中间语言其实看起来是一样的,这就显示实现了.NET平台跨语言的这一事实。当然中间语言最终还是要编译成为机器代码以用于最终的本地机的运行。
热心网友
时间:2022-04-27 13:04
程序的执行 C#所开发的程序源代码并不是编译成能够直接在操作系统上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机——被称之为通用语言运行时(CLR)——执行。
所有的.Net编程语言都被编译成这种被称为MSIL(Microsoft Intermediate Language )的中间代码。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。但是实际上,如果计算机上没有安装.Net Framework,那么这些程序将不能够被执行。
在程序执行时,.Net Framework将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.Net程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。
参考资料:百度百科
热心网友
时间:2022-04-27 14:39
.C#编译器先将代码转换为IL中间件语言,这种IL语言和Java字节码代码是一样的:它们都是一种低级语言,语法很简单,使用数字代码而不是文本代码,可以迅速转换为机器码。编译为中间语言IL就可以获得与.NET的平台无关性,这和JAVA的字节码与java平台无关性是一样的。
2.转换为IL语言之后再由CLR转换为平台专用代码
热心网友
时间:2022-04-27 16:30
建议你去正规医院治疗,处方不影响大家的一样,同样的补救办法可能会影响到另一个人适得其反的,所以最好是去正规医院治疗,不要滥用药物。上海王康升医院皮肤科QQ你写了800加003加420,可以参考。
. NET的运行机制是怎样的?
2)JIT编译阶段 因为代码在编译阶段没有直接编译成本机代码,所以在执行应用程序时,必须完成更多的工作,这就是Just In Time(JIT)编译器的任务。JIT把MSIL编译为专用于某种操作系统和目标机器结构的本机代码,只有这样,操作系统才能执行应用程序。这里编泽器的名称Just In Time,反映了MSIL仅在需要时...
.net运行机制,要流程图
CLR运行机制 支持CLI的程序语言必须拥有一个编译器,该编译器必须具备将源码编译成IL Code的能力,也就是CIL规格所定义的语言格式,然后交由CLR来运行。在载入IL Code之后,CLR会调用JIT Complier(Just-In-Time Complier)将这些IL Code转化为Native Code,也就是机器码来运行。我是从“上海全鼎软件学...
详解.NET中的动态编译技术
Net为我们提供了很强大的支持来实现这一切我们可以去做的基础 主要应用的两个命名空间是 System CodeDom Compiler和Microsoft CSharp或Microsoft VisualBasic 另外还需要用到反射来动态执行你的代码 动态编译并执行代码的原理其实在于将提供的源代码交予CSharpCodeProvider来执行编译(其实和CSC没什么两样) 如果...
net编译是什么意思?
Net编译是指将.net语言源代码翻译成计算机能够执行的目标代码的过程。编译器将源代码转化成与目标平台相匹配的二进制代码,并将其打包进可执行文件中,使其可以在计算机上运行。编译器还会对代码进行优化,以提高程序的性能和效率。Net编译相较于解释执行,具有更高的性能和更好的安全性。由于.Net语言是...
在ASP.NET中源程序代码先被生成“中间语言”(IL或MSIL),然后再进行...
【答案】:B 本题考查.NET运行机制。符合CLS规范将源代码编译成CLR所识别的“中间语言”和“元数据”。通过这样的机制,.NET框架具有了支持几乎所有语言操作的特性,只要该语言实现了将源代码编译成“中间语言”(IL或MSIL),都可以用于.NET平台的开发。在ASP.NET中源程序代码先被生成中间代码(IL或...
精品赏析:一个.NET程序在编译和运行时都做了些什么?
4) 编译器在创建这个可执行文件时导入(import)一个名为_CorExeMain的函数。这个函数是.NET EE(execution engine)--.NET运行期引擎的入口函数。5) 当执行这个Win32可执行文件时,因为其主要是依赖于DLL的PE文件,操作系统将会调用位于MSCorEE.DLL中的_CorExeMain函数。6) 操作系统通过PE文件里的进入点...
如何使用 Visual Studio.Net 编译和执行 C# 程序,步骤是?
点击 Run 按钮或者按下 F5 键来运行程序。会出现一个命令提示符窗口(Command Prompt window),显示 Hello World。您也可以使用命令行代替 Visual Studio IDE 来编译 C# 程序:打开一个文本编辑器,添加上面提到的代码。保存文件为 helloworld.cs。打开命令提示符工具,定位到文件所保存的目录。键入 csc...
简述ASP.NET Web网页的工作原理。
isapi.dll进行处理,由aspnet_isapi.dll把ASP.NET代码提交给CLR。如果以前没有执行过这个程序,那么就由CLR编译并执行,得到纯HTML结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯HTML结果。最后把这些纯HTML结果传回浏览器作为HTTP响应。浏览器收到这个响应之后,就可以显示Web网页。
.net是什么
.net是一个平台,也就是说,在.net下编写程序,编译后,执行的时候是需要.NET框架的解析。即:.net下生成的.EXE .DLL 在没有.NET框架支持的情况下是无法执行的,及时执行也会出错:(.net框架下可以支撑好多语言编写程序,比如 c++ vb java c#等等,可以满足不同的程序员的编程语言的偏好,可以编写...
.net 框架中托管执行环境具体是指什么
任何基于 .NET 框架编写的应用程序,.NET 框架将负责对其进行编译。.NET 框架对应用程序源代码的编译过程分为二个阶段。而普通应用程序的编译一般来说只有一步。在第一步的编译过程中,源代码编译会产生托管模块。托管模块包含在一个物理文件中。这个物理文件被称作可移植可执行 (PE,Portable Executable)...