关于.netFramework概述

这几天学了不少东西,想来还是应该总结一下,一来自己回顾一下,二来也怕自己忘记,在文章中,有很多东西就是借鉴别人的blog,笔者在这里对他们的无私奉献表示感谢。笔者的语言组织能力有限,如果在文章中出现什么错误,在下面回复即可,谢谢。

相信学过.net的人都对.netFramework不陌生吧,这个是学习.net必须要了解的东西,下面笔者就介绍一下.netFramework ,

关于.netFramework概述

如上图,我们平时写的cs文件,经过.NetFramework,最后才和操作系统交互,这样我们的程序才能运行起来,那么我们就很好奇,.NetFrameWork里面到底有什么东西,为什么我们写的cs代码经过编译都变成了xx.dll

关于.netFramework概述

.NetFrameWork是由.net类库,编译器,和CLR组成。我们写的cs代码,通过.netFrameWork里面的类库,由编译器编译成xx.dll 如下事例:我们新建一个cs文件在里面写上如下代码:

using System;

namespace FDLibrary

{

public class test

{

public string name;

}

}

打开cmd命令行,输入如下命令:csc /t:library 1.cs csc就会把它编译成1.dll  这个1.dll就是一个程序集,而using System就是引用的.NetFrameWork的类库,然后由编译器编译成dll文件。接着程序集就会被托管到CLR中。其实我们用Reflector工具可以看一下这个生成的dll文件中到底有什么东西。

关于.netFramework概述

我们选择IL代码查看如图:

关于.netFramework概述

发现这些代码我们并不认识,但可以凭着感觉稍微看懂一点,这就是CIL公共中间语言,也就是说cs代码被编译成了中间语言。

CLR: common language runtime 公共语言运行时,程序有CLR管理就叫托管程序。通过CLR可以编译中间语言,然后生成机器码,最后由操作系统来运行机器码,我们写的程序才能运行起来。

上一篇:ccmenu里的位置


下一篇:Day18 Django之路由系统、模板语言、Ajax、Model