1.2C#程序的运行机制

C#是静态强类型语言,通常不被编译成为能够直接在计算机上执行的二进制本地代码。与Java类似,它被编译成为中间代码(Microsoft Intermediate Language),然后通过.NET Framework的虚拟机(通用语言运行库(Common Language Runtime,简称CLR))执行。

.2C#程序的运行机制"/

所有的.Net编程语言都被编译成这种被称为通用中间语言(Common Intermediate Language,简称CIL)的中间代码, IL 代码和资源(如位图和字符串)存储在扩展名通常为.exe或 .dll 的程序集中,具体视其分别实现的是应用程序还是库而定。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。如果计算机上没有安装.Net Framework,那么这些程序会弹出对话框,要求用户下载.net framework。

执行 C# 程序时,程序集(包含中间语言 (IL) 指令形式的可执行代码和元数据形式的符号信息)将加载到 CLR。 CLR 会直接执行实时 (JIT) 编译,将 IL 代码转换成本机二进制机器码。最终的二进制代码被存储在一个缓冲区(Buffer)中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.Net程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。

.2C#程序的运行机制"/

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/csharp/2557.html

发表评论

登录后才能评论