码迷,mamicode.com
首页 > Windows程序 > 详细

C#基础知识

时间:2018-04-07 14:53:03      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:虚拟机   分段   mil   关联   实现   专用   编译   组件通信   代码   

一、基本概念

1.中间语言IL(CTS、CLS规范、语言相互调用),CLR运行环境(.net虚拟机加载程序集编译为机器语言、内存管理(分配和回收)、事件框架机制分段执行机制、应用程序域创建和组件通信、代码安全检查和异常处理)

CTS(通用类型系统): 所有托管语言定义的类型,都会编译为中间语言定义的通用类型;VB中整型,C#中的int 都会被编译映射为int32, 这样不同的语言通过CTS就可以相互继承,关联组合,依赖实现通信。类型分为值类型和引用类型,值类型(内置,枚举,用户定义的值类型),引用(接口,指针,自我描述), 自我描述(数组,类), 类(用户定义的类,委托,装箱值类型)

CLS(公共语言规范): CLS是一个最低语言规范标准集,例如CLS指定不使用任何只是根据大小写区分的名称(不区分大小写的语法),以前的VB代码就可以和CLS兼容代码一起使用,可以定制编译选项(支持部分的CLR特性的编译器编写,语言之间的相互通信)。

垃圾回收器(GC):COM是用引用计数,AddRef计数加1,Release计数减1且到0时候释放内存(还是需要手动的Release内存)。.net中是采用垃圾回收器,当.net运行库CLR检测到给定进程的托管堆已满,需要清理时,就调用垃圾回收器,检查所有托管堆中对象的引用,对引用为0的对象则清理内存。

总结:C#编译器vs或其他将源代码依据(CTS、CLS规范等)编译成中间语言IL,程序运行时,CLR把IL语言使用JIT(按需即时编译)为平台上专用的机器代码,把JIT编译好的机器代码存储,后续运行代码是无需编译。

 

C#基础知识

标签:虚拟机   分段   mil   关联   实现   专用   编译   组件通信   代码   

原文地址:https://www.cnblogs.com/tuqunfu/p/8733157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!