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 的不同之处

CLI(命令行接口工具)

CLI 是用于 .NET 开发的命令行工具,使用 dotnet 命令,开发者可以直接在命令行中执行项目的构建、测试和发布等操作。

.NET SDK(软件开发工具包)

.NET SDK 是开发 .NET 应用程序所需的工具和库的集合。它包括编译器、CLR、CLI、BCL 等组件,为开发者提供了一个完整的开发环境。


C# 代码的运行过程

  1. 编写 C# 代码:开发者编写 C# 源代码。
  2. 编译成 IL 代码:通过 Roslyn 编译器将 C# 代码编译成 IL 代码。
  3. 运行时转换:程序运行时,CLR 使用 JIT 编译器将 IL 代码动态编译成机器码,并执行该机器码。

这篇文章简要介绍了 C# 的基础概念及其代码运行的过程,希望对您理解 C# 的工作原理有所帮助!