📜  如何编译和执行C#代码?

📅  最后修改于: 2021-05-29 18:29:55             🧑  作者: Mango

C#是一种通用的,强类型的,词法范围的,功能性的,面向对象的和面向组件的编程语言。在本文中,我们将学习如何编译和执行C#代码。

C#代码编译的分步过程:

步骤1:编写C#代码。

步骤2:使用C#编译器编译代码。

步骤3:现在,编译器检查代码是否包含错误。如果未发现错误,则编译器移至下一步。或者,如果编译器发现错误,那么它将立即告诉开发人员在给定的行中发现了错误,以便开发人员可以更正它们。纠正错误后,再次运行代码时,编译器将再次检查错误,如果未发现错误,则将移至下一步,或者如果发现错误,则编译器会向开发人员提供一条消息。在C#中,有两种类型的错误:

编译器错误:当开发人员违反编写语法规则时发生的错误称为编译时错误。此编译器错误表明在编译代码之前必须先修复一些问题。所有这些错误通常由编译器检测,因此称为编译时错误。例如,缺少分号,缺少括号等。

运行时错误:成功编译后在程序执行(运行时)期间发生的错误称为运行时错误。最常见的运行时错误之一是被零除,也称为除法错误。这些类型的错误很难找到,因为编译器没有指向发生错误的那一行。

步骤4:不会将Java或C#之类的语言直接转换或编译为机器级语言或机器指令。这些语言需要首先转换为中间代码,这是部分符合标准的代码。对于C#,源代码将转换为称为通用中间语言(CIL)的中间代码。 中级语言代码(ILC或IL代码) 。因为C#是平台无关的语言,所以此CIL或IL代码可以在任何操作系统上运行。

步骤5:C#源代码转换为公共中间语言(CIL)或中间语言代码(ILC或IL代码之后,中间代码需要被转换为机器可理解的代码C#使用.NET框架和作为其中的一部分。 NET Framework,虚拟机组件管理以任何使用.NET Framework的语言编写的程序的执行,该虚拟机组件称为公共语言运行时(CLR) ,它将CIL或IL代码转换为本机代码或机器可理解的代码此过程称为即时(JIT)编译动态编译,这是仅在运行时在程序执行期间编译代码的方式。

第6步:编译完C#程序后,会将它们实际打包到Assembly中。程序集是一个包含一个或多个名称空间和类的文件。随着程序中类和名称空间的数量增加,它会通过相关的名称空间从物理上分离为单独的程序集。程序集通常具有文件扩展名.exe.dll,这取决于它们分别实现应用程序还是库,其中EXE表示可执行文件,而DLL表示动态链接库。 EXE(可执行文件)文件表示可以执行的程序,而DLL(动态链接库)文件包含可以在不同程序之间重用的代码(例如:Library)。

步骤7:现在,C#编译器返回给定c#代码的输出。

C#代码的编译过程

因此,这就是C#代码编译和执行的整个过程的过程。