C# 为什么在.NET中使用基类库?

C# 为什么在.NET中使用基类库?,c#,C#,我对C程序的执行方式有点困惑。 我现在学到的是 C程序+基类库构成一个源代码 该源代码被提供给C编译器,以便转换为MSILL代码。 此MSIL代码将移交给.NET Framework以转换为本机代码。 所以我的问题是,既然所需的基类已经存在,为什么我们需要.NET Framework中的基类呢 转换为MSIL代码 我是否把上述过程弄错了? 请帮忙! 我在谷歌上搜索了一下,但无法清除甜甜圈。 谢谢你的关注 基类库不是源代码的一部分。这是您的源代码所引用的内容,但C编译器不会重新编译它。您弄错了:

我对C程序的执行方式有点困惑。 我现在学到的是

C程序+基类库构成一个源代码 该源代码被提供给C编译器,以便转换为MSILL代码。 此MSIL代码将移交给.NET Framework以转换为本机代码。 所以我的问题是,既然所需的基类已经存在,为什么我们需要.NET Framework中的基类呢 转换为MSIL代码

我是否把上述过程弄错了? 请帮忙! 我在谷歌上搜索了一下,但无法清除甜甜圈。
谢谢你的关注

基类库不是源代码的一部分。这是您的源代码所引用的内容,但C编译器不会重新编译它。

您弄错了:

C代码构成了源代码 该源代码由C编译器编译为CIL,并打包在程序集中 在运行时,CLR将加载程序集及其引用的任何程序集 CLR有一个JIT编译器,可以从该CIL生成机器代码 然后执行生成的机器代码
C程序+基类库形成源代码,然后使用各自的编译器编译源代码。当时:-

每当我们编译用任何.net语言编写的代码时,相关的编译器(如C),VB编译器都会生成称为汇编的二进制文件,它可能是.dll或.exe,其中包含MSIL代码或CIL代码。这些指令是低级人类可读语言,以后可以通过运行时编译器JIT转换为机器语言,它是CLR第一次执行期间的一部分。它仅在执行期间完成,这样编译器就可以事先知道它将运行的环境,从而可以针对该平台发出优化的机器语言代码。net框架的这种编译器称为即时JIT编译器或抖动

编译器不会重新编译dll或基类库,这些都是由源代码决定的


基类库提供了许多接近目标的功能,这就是我们使用它们的原因。

您熟悉面向对象编程范式吗?@Jon:是的,非常熟悉!但问题与此有关吗?随叫随到的乐趣。。。马上回去睡觉: