.NET平台构成的三个关键实体是:

1、CLR(公共语言运行库):为我们定位,加载,管理.NET类型,同时负责一些底层细节的工作,如内存管理,应用托管,处理线程,安全检查等,它包含了一个重要名为mscoree.dll(公共对象运行库的执行引擎)的库,当一个程序集引用一个程序集时,要使用它时,首先会加载该库,然后由它负责将需要的导入内存。该库负责很多事儿,如解析程序集的位置,读取其中包含的元数据,在二进制文件中发现所请求的类型。最后由CLR在内存中为类型布局,将相关的CIL编译成特定平台的指令。

2、CTS(公共类型系统):完整描述了运行库所支持的所有可能的数据类型和编程结构 ,指定了实体间如何交互,也规定了他们在.NET元数据格式中的表示

3、CLS(公共语言规范):是一个相关规范,定义了一个让所有NET语言都支持的公共类型和编程结构的子集

除了这三个关键的实体外,还有一个重要的BCL(基础类库):封装了各种基本类型,如线程,文件的操作,图形的绘制,以及与各种外部硬件设备的交互,还支持在实际应用中用到的一些服务。

C#它生成的代码只能在。NET运行库中执行,它称为托管代码(必须在NET运行库下执行的代码)。包含托管代码的二进制单元称为程序集。

IL和MSIL,CIL都是指中间语言。

C#编译先转化为中间语言,然后在通过JIT(及时编译器)转化为有意义的CPU指令。

程序集清单:NET程序集也包含了描述程序集自身的元数据(程序集清单),它记录了所有确保现有的程序集正常工作的外部程序集,程序集的版本号,版权信息等

转载于:https://www.cnblogs.com/selfimprove/p/4058494.html

C# 学习笔记1 .NET平台,C#的重要概念相关推荐

  1. 知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别

    知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别 知识图谱的概念,与传统语义网络的区别 狭义概念 作为语义网络的内涵 与传统语义网络的区别 优点 缺点 与 ...

  2. Unity DOTS 学习笔记2 - 面向数据设计的基本概念(上)

    上一章,我们安装了ECS套件,也进行了一些介绍,但是比较笼统.没有一些基础知识储备,很难开始编写代码.本章首先翻译和整理了部分Unity官方的DOTS知识,需要对面向数据有更深刻的认识. DOD知识准 ...

  3. 数字IC设计学习笔记_静态时序分析STA_ STA基本概念

    数字IC设计学习笔记 STA基本概念 1. STA基本概念 2. 时序弧概念 Timing Arc 3. 建立时间和保持时间概念 4. 时序路径概念Timing Path 5. 时钟域概念clock ...

  4. Java微服务学习笔记(一):微服务架构的概念理解

    Java微服务学习笔记 Tips:入门学习时粗略整理,仅供参考 (一):架构的基础理解 文章目录 Java微服务学习笔记 前言 一.微服务是什么? 二.常用开源微服务框架演化 1. Dubbo 2. ...

  5. Apollo星火计划学习笔记|L1 Apollo平台安装(2021年9月更新)

    系列文章目录 L1 Apollo平台安装 L2 CyberRT学习 L5 Routing简介 目录 系列文章目录 Apollo简介 Apollo安装 安装过程中遇到的问题. 综述文章 报名了百度apo ...

  6. cURL 学习笔记——结合yeelink平台

    1.前言 curl是利用URL语法在命令行方式下工作的开源文件传输工具(来自百度百科).cURL是一种简单有效的工具,可以使用cURL工具进行WEB相关的调试开发工具,相对于Yeelink这样的云平台 ...

  7. .Net 初步学习笔记之一——.Net 平台与.Net FrameWork框架的关系

    .Net 包含两部分 .Net平台 和.Net FrameWork 框架 1..Net FrameWork框架包含于.Net平台. .Net FrameWork提供环境和支撑保证.Net平台运行. 2 ...

  8. Android学习笔记之Android平台架构和特性

    一.Android的平台架构及特性 Android系统的底层建立在Linux系统之上,该平台由操作系统,中间件,用户界面和应用软件4层组成.采用一种被称为软件叠层的方式进行构建. 1.应用程序层(Sy ...

  9. LVGL学习笔记7 - GD32平台优化

    目录 1. 颜色深度 2. 更新disp_init 3. 更新disp_flush 4. 改为IPA更新数据 5. 死机问题 学习过程中发现GD32平台的显示效果不佳,而且会出现死机的问题,需要优化一 ...

最新文章

  1. Android 水波效果 | 涟漪效果 实现
  2. php zend msql,WINDOWS系统 + Apache +PHP5 +Zend + MySQL + phpMyAdmin安装方法
  3. [蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)
  4. python34.dll_python34.dll下载
  5. 前端学习(568):元素定高 容器定高 为什么不能居中
  6. 冷知识 —— 物种大交换
  7. asp.net mvc 2.0 TryValidateModel(Object)方法
  8. 【net】音乐播放器
  9. matlab IIR滤波
  10. [MATLAB/编程]报童的诀窍/报童问题-图解法和二分法
  11. s深度linux没有ll等命令的解决办法
  12. comsol 学习笔记【基础知识,磁场与结构场耦合为主】
  13. python scrapy 爬取steam游戏
  14. 打印日历程序php,C++实现的一个打印日历程序
  15. iconfont在IE下不兼容问题
  16. Stacking:集成学习策略图解
  17. 算法工程师(机器学习)部分面试题(转载参考)
  18. CSS 水平居中、垂直居中、水平垂直居中
  19. OA办公系统能为企业带来什么好处?
  20. FL Studio 21测试版更新、新功能和AI智能编曲插件

热门文章

  1. 文本分类从入门到精通
  2. android 图标点击变大,使android桌面图标变大
  3. python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
  4. 信息系统项目管理师:第7章:项目成本管理-章节重点
  5. 为什么重写equals()和hashcode()
  6. 到底是把甲方当爸爸还是当甲方爸爸
  7. 笔记-知识产权与标准化知识-GB/T-12504-1990计算机软件质量保证计划规范
  8. CentOS中使用Docker来部署Nginx
  9. C#中获取指定目录下所有目录的名称、全路径和创建日期
  10. Python中使用pip install ncmbot时各种错误解决办法