► .net是什么?是一种平台。是微软推出的一种技术。这种技术可以开发桌面应用程序(winform),internet应用程序(asp.net),手机应用程序(winphone)。dotnet framework 是一种支持多种语言的框架如:c# , c++ , j# , vb.net , jscript.net , delphi等等。
► .net中的clr,cts和cls。
clr(common language runtime):公共语言进行时。是应用程序的执行引擎和功能齐全的类库,主要是编译和运行.net应用程序。
cts(common type system):公用类型系统。(只有基本类库中才在cts中有)
cls(common language specification):公用语言规范。
► c#中程序运行的过程:
(1)编写源代码:在visual studio ( 2005 /2008/ 2010)用c#编写的代码;
(2)编译:编译过程实际上是将c#源代码翻译为msil(microsoft intermediate language即 微软中间语言)的源代码。
(3)运行:该过程是clr将msil源代码翻译为机器语言源代码。
p.s msil与汇编语言(是基于机器语言之上的一种语言)非常相似,所以在进行二次编译时耗时非常少。
cpu—>机器语言(用二进制命令或数字直接写程序—>汇编语言(与硬件相关性特别大)—>c(针对操作系统开发的,面向过程的)—>c++(面向对象的)—>java(jdk),c#(.net framework)
编译:从c#到msil
反编译:msil翻译成c#或者其他在.net平台上编写的语言(可利用反编译工具如:reflector)。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLxcDMw8lavwlM4p2LclGavwVbvNmL1RWahJmLn1Wavw1LcpDc0RHaiojIsJye.gif)