C# 学习笔记1 .NET平台,C#的重要概念
.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章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别 知识图谱的概念,与传统语义网络的区别 狭义概念 作为语义网络的内涵 与传统语义网络的区别 优点 缺点 与 ...
- Unity DOTS 学习笔记2 - 面向数据设计的基本概念(上)
上一章,我们安装了ECS套件,也进行了一些介绍,但是比较笼统.没有一些基础知识储备,很难开始编写代码.本章首先翻译和整理了部分Unity官方的DOTS知识,需要对面向数据有更深刻的认识. DOD知识准 ...
- 数字IC设计学习笔记_静态时序分析STA_ STA基本概念
数字IC设计学习笔记 STA基本概念 1. STA基本概念 2. 时序弧概念 Timing Arc 3. 建立时间和保持时间概念 4. 时序路径概念Timing Path 5. 时钟域概念clock ...
- Java微服务学习笔记(一):微服务架构的概念理解
Java微服务学习笔记 Tips:入门学习时粗略整理,仅供参考 (一):架构的基础理解 文章目录 Java微服务学习笔记 前言 一.微服务是什么? 二.常用开源微服务框架演化 1. Dubbo 2. ...
- Apollo星火计划学习笔记|L1 Apollo平台安装(2021年9月更新)
系列文章目录 L1 Apollo平台安装 L2 CyberRT学习 L5 Routing简介 目录 系列文章目录 Apollo简介 Apollo安装 安装过程中遇到的问题. 综述文章 报名了百度apo ...
- cURL 学习笔记——结合yeelink平台
1.前言 curl是利用URL语法在命令行方式下工作的开源文件传输工具(来自百度百科).cURL是一种简单有效的工具,可以使用cURL工具进行WEB相关的调试开发工具,相对于Yeelink这样的云平台 ...
- .Net 初步学习笔记之一——.Net 平台与.Net FrameWork框架的关系
.Net 包含两部分 .Net平台 和.Net FrameWork 框架 1..Net FrameWork框架包含于.Net平台. .Net FrameWork提供环境和支撑保证.Net平台运行. 2 ...
- Android学习笔记之Android平台架构和特性
一.Android的平台架构及特性 Android系统的底层建立在Linux系统之上,该平台由操作系统,中间件,用户界面和应用软件4层组成.采用一种被称为软件叠层的方式进行构建. 1.应用程序层(Sy ...
- LVGL学习笔记7 - GD32平台优化
目录 1. 颜色深度 2. 更新disp_init 3. 更新disp_flush 4. 改为IPA更新数据 5. 死机问题 学习过程中发现GD32平台的显示效果不佳,而且会出现死机的问题,需要优化一 ...
最新文章
- Android 水波效果 | 涟漪效果 实现
- php zend msql,WINDOWS系统 + Apache +PHP5 +Zend + MySQL + phpMyAdmin安装方法
- [蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)
- python34.dll_python34.dll下载
- 前端学习(568):元素定高 容器定高 为什么不能居中
- 冷知识 —— 物种大交换
- asp.net mvc 2.0 TryValidateModel(Object)方法
- 【net】音乐播放器
- matlab IIR滤波
- [MATLAB/编程]报童的诀窍/报童问题-图解法和二分法
- s深度linux没有ll等命令的解决办法
- comsol 学习笔记【基础知识,磁场与结构场耦合为主】
- python scrapy 爬取steam游戏
- 打印日历程序php,C++实现的一个打印日历程序
- iconfont在IE下不兼容问题
- Stacking:集成学习策略图解
- 算法工程师(机器学习)部分面试题(转载参考)
- CSS 水平居中、垂直居中、水平垂直居中
- OA办公系统能为企业带来什么好处?
- FL Studio 21测试版更新、新功能和AI智能编曲插件
热门文章
- 文本分类从入门到精通
- android 图标点击变大,使android桌面图标变大
- python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
- 信息系统项目管理师:第7章:项目成本管理-章节重点
- 为什么重写equals()和hashcode()
- 到底是把甲方当爸爸还是当甲方爸爸
- 笔记-知识产权与标准化知识-GB/T-12504-1990计算机软件质量保证计划规范
- CentOS中使用Docker来部署Nginx
- C#中获取指定目录下所有目录的名称、全路径和创建日期
- Python中使用pip install ncmbot时各种错误解决办法