.NET 平台

本文详细介绍了NET平台的编译原理,包括C#编译器如何将源代码编译为程序集,程序集如何被翻译成微软中间语言(MSIL),以及CLR公共语言运行时如何将MSIL转换为本地平台对应的二进制指令供CPU执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NET平台
 
 
.NET平台编译原理:

  • 使用C#编译器(csc)将源代码编译为程序集。
  • 程序集:只有通过.NET平台编译出来的文件(exe、dll)才可以叫做程序集。
  • 组成程序集最重要的部分:MSIL(微软中间语言)。双击运行程序集,CLR公共语言运行时的JIT(Just In Time即时编译器)会将程序集中的MSIL(微软中间语言)转换为本地平台对应的二进制指令将这些指令交给CPU执行。
  • (C#编译器做的事情:检查源文件的语法,如果符合规范,生成程序集。如果不符合规范,就会报错,不会生成程序集。最重要的步骤:将源文件中的C#代码翻译成MSIL存储在程序集中。)
 
.NET平台最重要的组成部分

  • NET平台最重要的组成部分:FCL 框架类库和 CLR公共语言运行时
  • FCL 框架类库:微软事先将程序员经常用到的功能写好,把这些功能封装在一个一个的类中。这些类的集合就叫做框架类库。
  • CLR公共语言运行时:是.NET程序运行的1个必备环境。如果我们编写的.NET程序要在系统上运行,那么这个系统上面就必须要安装CLR。而CLR是无法单独安装的,会随着.NET框架一起安装,必须要安装对应版本的.NET框架。
 
.Net程序的简单编译执行原理

  1. C#编译器(csc)将源代码编译为程序集。
  2. 程序集会被翻译成微软中间语言(MSIL)。
  3. 当双击运行程序集时,公共语言运行时(CLR)的即时编译器(JIT)会将程序集中的微软中间语言转换为本地平台对应的二进制指令。
  4. 最后即时编译器会将这些二进制指令交给CPU去执行。

转载于:https://www.cnblogs.com/chenweifeng/p/4700487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值