初步了解.net
2019-01-03 09:58:15来源:博客园 阅读 ()
一、.net和C#是什么关系
.net是一个程序运行的平台,它是c#,vb,F#等程序运行的平台,为这些语言提供基础类库、公共语言运行时(CLR)等相关支持。
C#是支持.net的一种编程语言。.net编程语言有很多种,常用的是C#,还有Visual Basic、C++/CLI、Eiffel、F#、IronPython等很多种。
visual studio是开发工具,支持这些编程语言开发相应的.net程序。
二、编译与执行
编译是把编程语言编写的源代码转成CIL(中间语言)并生成程序集的过程。执行是程序执行时CLR(公共语言运行时)捕获CIL后,激活JIT编译器,将CIL编译成机器语言的过程。上一张抄来的图(https://blog.csdn.net/lidandan2016/article/details/77868043):
三、名词解释
各种缩写,名词太多了,一直弄混,找一些经常看见的记录下。
1、CLR(Common Language Runtime,公共语言运行库):CLR是一个运行时环境,功能主要包括内存管理,程序集加载,异常管理,系统资源回收等。
2、托管代码:由CLR管理运行的代码。
3、非托管代码:与CLR无关的代码。
4、GC(Garbage Collector,垃圾收集器):GC只能回收托管资源(由CLR管理的存在于托管堆上的称为托管资源)。GC的运行不需要人工干预,CLR会在需要的时候调用GC进行垃圾回收。GC遍历托管堆上的对象,将不能回收的对象做上标记,最后没有标记的对象作为垃圾释放掉,释放后不连续的内存空间会压缩成连续的内存空间。
5、CIL(Common Intermediate Lauguage,公共中间语言):与IL,MSIL(微软中间语言)是一个概念,源代码在编译过程中被翻译成的一系列指令集。CIL是底层平台无关的,CLR使用不同CPU的即时编译器编译CIL为相应的机器代码。
6、元数据:描述数据的数据。描述了文件中定义的类型以及每个类型的成员,比如某个字段的访问权限、字段拥有者等信息。
7、程序集清单:本身也是一种元数据,描述程序集自身。记录了关联的外部程序集、程序集版本、版权信息等。发布的程序运行提示哪个dll版本不匹配就是路径下的dll文件版本与清单中记录的版本不一致。
8、程序集:由编译成生成的dll、exe文件。包含CIL、元数据、清单的一种集合,是可以被CLR加载并运行的一堆数据集。(VS里创建的一个新项目,比如一个类库,编译后就被打包成与类库名称相同的一个dll,这就是一个程序集)。
9、CTS(Common Type System,通用类型系统):一个正式的规范,规定了类型必须如何定义才能被CLR加载。主要是类、结构、枚举、委托、接口五中类型。system.Int32、system.Object等是内建的CTS数据类型。平时用的int ,string这些关键字是这些类型的一种代号。
10:CLS:一套规则,每种编程语言都有各自的语法,不同的语言功能,CLS就是一种能在各种语法中通用的一种准则。按照这个准则生成的程序集可以在其他语言中调用。
个人理解,后续慢慢补充完善。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:C# 添加图片水印类的方法
下一篇:asp.net 动态生成表格
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash