我对C#程序的执行方式感到有点困惑。 我到现在所学到的是,
所以我的问题是为什么我们需要.NET Framework中的基类,因为必需的基类已经存在 转换为MSIL代码?
我上述过程是否错误? 请帮忙! 我用谷歌搜索但是无法清除它。 谢谢您的关注!
答案 0 :(得分:7)
基类库不是源代码的一部分。这是您的源代码所引用的内容,但C#编译器不会重新编译它。
答案 1 :(得分:4)
你有点不对劲:
答案 2 :(得分:0)
C#program + Base Class库形成一个源代码,然后我们使用各自的编译器编译源代码。 那个时间: -
每当我们编译用任何.net语言编写的代码时,相关的编译器(如C#,VB编译器)都会生成名为assembly的二进制文件(可能是.dll或.exe),它包含MSIL代码或CIL代码。这些指令是低级别的人类可读语言,后来可以通过运行时编译器(JIT,它是CLR的一部分)在第一次执行时转换为机器语言。它只是在执行期间完成,因此编译器将具有事先知识它将运行哪个环境,以便它可以发出针对该平台的优化机器语言代码。 .net Framework的这种编译器称为即时(JIT)编译器或Jitter。
并且编译器不会重新编译dll或基类库,这些库是由您的源代码引用的。
基类库提供了许多功能,可以达到目标附近,我们使用它们。