Roslyn 编译器
Roslyn 是一个开源编译平台,能够将 C# 代码编译成中间语言(IL)代码。它不仅提供了编译功能,还支持代码分析和重构,允许开发者以编程的方式访问 C# 语法树和语义信息。
BCL(基础类库)
BCL 是 .NET 运行时和 SDK 的一部分,提供了用于构建应用程序的基本功能和类型,包括数据结构、文件操作、网络通讯等。
JIT(即时编译)
JIT 是在程序运行时将 IL 代码动态编译成机器码的技术
IL/CIL(公共中间语言)
IL(或称 CIL,公共中间语言)是 C# 代码编译后生成的一种中间形式,位于 C# 代码和机器码之间。IL 是平台无关的,能够在任何支持 .NET 的平台上执行。
CLR(.NET 运行时)
CLR 是 .NET 的运行时环境,负责执行 .NET 应用程序。它包含了 JIT 编译器、基础类库、内存管理和垃圾回收等功能,确保程序的高效运行。
CoreRT
RT 和 CLR 基本一致, RT 具体信息
和 CLR 的不同之处
- RT 不是虚拟机
- RT 没有 JIT
CLI(命令行接口工具)
CLI 是用于 .NET 开发的命令行工具,使用 dotnet
命令,开发者可以直接在命令行中执行项目的构建、测试和发布等操作。
.NET SDK(软件开发工具包)
.NET SDK 是开发 .NET 应用程序所需的工具和库的集合。它包括编译器、CLR、CLI、BCL 等组件,为开发者提供了一个完整的开发环境。
C# 代码的运行过程
- 编写 C# 代码:开发者编写 C# 源代码。
- 编译成 IL 代码:通过 Roslyn 编译器将 C# 代码编译成 IL 代码。
- 运行时转换:程序运行时,CLR 使用 JIT 编译器将 IL 代码动态编译成机器码,并执行该机器码。
这篇文章简要介绍了 C# 的基础概念及其代码运行的过程,希望对您理解 C# 的工作原理有所帮助!