C#和.net简单介绍
2013-11-05 16:36
381 查看
C#和.net的关系
.net是一个平台,这个平台里面可以支持很多种语言,c#只是其中的一种,.net支持的特性C#不一定支持,C#支持的.net不一定支持比如(运算符重载)。
公共语言运行库
.net framework的核心是其运行库执行环境,成为公共语言运行库(CLR)或.net运行库。通常将在CLR控制下运行的代码称为托管代码(managed code)。CLR执行编写好的源代码之前需要编译他们。.net中编译分为两个阶段:
(1)把源代码编译为Microsoft中间语言(IL).
(2)CLR把IL编译为平台专用的代码。
它与Java字节码是同一中理念,可以快速的转换成本地机器码,这种精心的设计有很重要的优点:平台无关性,提高性能和语言的互操作性。
平台无关性
目前.net只适合在windows平台运行,不能像java那样。但是可以用mono项目跨平台。
提高性能
IL总是JIT编译(即时编译)的。JIT并不是把整个应用程序一次编译,而是只编译它调用的那部分代码。编译一次后得到的本地可执行程序就存储起来,直到退出该程序为止,这样在下次运行这部分代码时就不需要从新编译了。开发完C#项目进行编译成中间语言,然后运行时把IL通过JIT根据不同的CPU进行优化后转换成本地CPU指令,不是全部一次转换完成,而是运行哪部分就转换哪部分,当转换后会保存在缓存中,下次运行的时候直接取,直到程序退出。
语言互操作
可以把其他语言编译成IL(中间语言),然后就可以通过编译的代码与其他语言编译过来的代码进行交互。
.net是一个平台,这个平台里面可以支持很多种语言,c#只是其中的一种,.net支持的特性C#不一定支持,C#支持的.net不一定支持比如(运算符重载)。
公共语言运行库
.net framework的核心是其运行库执行环境,成为公共语言运行库(CLR)或.net运行库。通常将在CLR控制下运行的代码称为托管代码(managed code)。CLR执行编写好的源代码之前需要编译他们。.net中编译分为两个阶段:
(1)把源代码编译为Microsoft中间语言(IL).
(2)CLR把IL编译为平台专用的代码。
它与Java字节码是同一中理念,可以快速的转换成本地机器码,这种精心的设计有很重要的优点:平台无关性,提高性能和语言的互操作性。
平台无关性
目前.net只适合在windows平台运行,不能像java那样。但是可以用mono项目跨平台。
提高性能
IL总是JIT编译(即时编译)的。JIT并不是把整个应用程序一次编译,而是只编译它调用的那部分代码。编译一次后得到的本地可执行程序就存储起来,直到退出该程序为止,这样在下次运行这部分代码时就不需要从新编译了。开发完C#项目进行编译成中间语言,然后运行时把IL通过JIT根据不同的CPU进行优化后转换成本地CPU指令,不是全部一次转换完成,而是运行哪部分就转换哪部分,当转换后会保存在缓存中,下次运行的时候直接取,直到程序退出。
语言互操作
可以把其他语言编译成IL(中间语言),然后就可以通过编译的代码与其他语言编译过来的代码进行交互。
相关文章推荐
- C#中属性的简单介绍
- C# 各种操作xml 简单介绍
- 简短介绍 C# 6 的新特性 .net 6都要来了?
- C# new()约束简单介绍
- 一起谈.NET技术,DotNetNuke 5 C#版本解读之--架构介绍
- .Net(C#)最简单的邮件发送案例
- c# 中内部类的简单介绍
- .Net/C#: 一个将在线简体中文网页转为繁体中文页简单方法 (尚不完善 IHttpHandler Proxy / Response.Filter)
- C#与.net高级编程 C#的多态介绍
- .net 2.0(c#)下简单的FTP应用程序
- [翻译].net 2.0(c#)下简单的FTP应用程序
- C#语言的简单介绍和.NET Framework
- C# 基础知识 (四).C#简单介绍及托管代码
- 关于.NET、ASP.NET、C#、WinFrom、MVC以及WebForm的简单描述
- .NET学习经典例子:.NET PetShop和Duwamish简单介绍
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- .net 流——流的类型体系简单介绍
- .Net/C#: 一个将在线简体中文网页转为繁体中文页简单方法 (尚不完善 IHttpHandler Proxy / Response.Filter)
- c#学习 10/22 字符串的各种方法与继承的简单介绍
- .Net语言 APP开发平台——Smobiler学习日志:HoverBackColor属性的简单介绍