【Unity|C#】基础篇(0)——C#与.NET框架
【学习资料】
《C#图解教程》(第1章):https://www.cnblogs.com/moonache/p/7687551.html
电子书下载:https://pan.baidu.com/s/1mhOmBG0
【笔记内容】
- .NET框架组成
- 程序集(dll/exe)
- 本机代码
- JIT编译器(Just-In-Time)
- 公共语言运行库(CLR)
- CLI(也叫IL)
【笔记】
- .NET框架组成
- 编程工具:如VS
- BCL :基础类库
- CLR :公共语言运行库
我们写的C#代码:
(1)使用BCL
(2)通过编译器,将代码编译成程序集(dll或exe)
(3)然后由CLR解析执行
- 程序集
- 通过编译器,将C#代码编译成程序集(dll 或 exe)
- 程序集里的代码不是本机代码,而是的中间语言
- 程序集包含的信息:
- CIL
- 程序中使用的类型 的 元数据
- 对其他程序集引用 的 元数据
- 本机代码
- 操作系统能执行的机器指令(操作系统的一个个指令操作)
- 程序集中的代码,通过CLR的 JIT实时编译器 编译成 本机代码
- 注:CIL代码只有被调用时,才会被编译,且只会编译一次。(没被调用的CIL代码不会进行编译)
- 编译和执行的过程
- 程序集由 JIT编译器 编译成 本机代码,然后由操作系统执行
- CLR(公共语言运行库)
- NET框架的核心组件,它在操作系统的顶层,负责管理程序的执行
- 托管代码:由.NET框架编写的C#代码,编译成dll
- 非托管代码:如外部C++编写的代码,编译成dll
- CLI(公共语言基础结构)(也叫IL)
- 不需要了解
【Unity|C#】基础篇(0)——C#与.NET框架的更多相关文章
- C#基础篇之C#和 .Net框架的概念和运行原理
一.微软平台的发展史 二..Net框架包含的东西 1.名词解释 BCL:基类库(Base Class Library)系统和底层提供的最基本的类库 CLR:公共语言运行时(Common Languag ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView
原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...
- ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map
原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NE ...
- 【转】WF4.0 (基础篇)
转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter —— 兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...
- [WF4.0 实战] WPF + WCF + WF 打造Hello World(基础篇)
本篇博客是一个基础的演示样例,也就是一个新手教程吧!让大家熟悉一下WPF + WCF + WF三者的关系!这仅仅是一个基础篇,下篇会继续深入,作为这段时间研究工作流的一个小小总结! 三者关系: WPF ...
- (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)
一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...
- iOS开发swift语法0基础篇—————(swift技术交流群:361513739)
iOS开发之swift语法0基础篇:点击打开链接 swift技术交流QQ群361513739
- (二)SpringBoot2.0基础篇- 静态资源的访问及Thymeleaf模板引擎的使用
一.描述 在应用系统开发的过程中,不可避免的需要使用静态资源(浏览器看的懂,他可以有变量,例:HTML页面,css样式文件,文本,属性文件,图片等): 并且SpringBoot内置了Thymeleaf ...
随机推荐
- 使用vegrant安装centos7
1.首先去安装需要先安装好 Vagrant 和 VirtualBox. 安装好需要重启电脑. 可能网速会很慢,建议复制链接到迅雷下载,或者国内随便找个下载也可以. 2.在电脑创建vagrant_vm目 ...
- Microsoft visual studio 2015已停止工作最全解决办法
1.重装系统,不到万不得已不要选择...麻烦. 2.使用管理员权限运行VS,部分可能有效. 3.卸载重新安装vs,如果是一些配置问题或许能解决,还有要是卸载的干净可能有效. 4.据说可能是插件有问题造 ...
- HDU6683
题意 英文 做法 考虑公比为\(\frac{a}{b}\),满足\(a>b,(a,b)=1\) 枚举长度\(k\),设序列头为\(p\),尾为\(q\),有\(p\times \frac{a^{ ...
- Android_内部存储文件的读写
内部存储文件即raw和assets项目文件夹下的文件,项目卸载时被删除. 四种文件操作模式 文件存储: public void save(String filename, String filecon ...
- 小白的java学习之路 “ 字符串”
定一个字符串可以使用string类和stringbuffer类. string类提供了大量的操作字符串的方法,常用的如下: 获得字符串的长度: length(). 比较字符串:equals(). 链接 ...
- Unity踩坑记录
最近开始学习Unity,因为会一点儿C#,Delphi,Python,三种都是半桶水都算不上的级别. 首先排除了Python,其次delphi是我最喜欢的,奈何它目前我能了解到的引擎都很老了,dilp ...
- IntelliJ IDEA实用插件推荐
IntelliJ在业界被公认为优秀的Java开发平台之一,在智能代码助手.代码自动提示.重构.J2EE支持.代码审查. 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发.通过插件 ...
- BZOJ-2424: [HAOI2010]订货【费用流】
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1487 Solved: 1002[Submit][Status][Discuss] Descript ...
- 题解【AcWing91】最短Hamilton路径
题面 看到数据范围这么小,第一眼想到爆搜. 然而这样做的复杂度是 \(\mathcal{O}(n! \times n)\) 的,明显会 TLE. 于是考虑状压 DP. 我们设 \(dp_{i,j}\) ...
- PHP实现导出Excel文件
实现代码: private function exportExcel($params) { $arr = $this->getExportData($params); // 获取需要导出的信息( ...