第一章 CLR执行模型】的更多相关文章

发现看过好几遍还是会忘记,因水平有限理解的不是很到位.欢迎各位大神及时指正. CLR执行模型 1.1编译器将源代码编译成托管模块 托管模块:是标准的windows可移植执行体文件(PE32(32位机器),或者PE32+(64位机器))它们需要CLR 才能执行 1.2 编译器将托管模块合并成程序集 托管模块有四个概念: PE32,PE32+文件 文件头 CLR头 :标识了要求的CLR版本.标识.托管模块入口方法 元数据 :数据表集合,一方面描述了模块定义的东东,另外一方面描述了引用的一些东东.东东…
CLR via C# 读书笔记:第一章 CLR 的执行模型(1) 第Ⅰ部分CLR基础.这部分为三章(第一章:CLR的只想能够模型,第二章:生成.打包.部署和管理应用程序及类型,第三章:共享程序集和强命名程序集)大部分都是概念性的东西,看起来比较的枯燥无味,由于都是概念性的东西所以也比较难于理解,不过这些知识也是后面深入的前提,要想深入的了解.net平台及C#语言,这些概念性的知识也是必须懂得的.废话不多说了,咱们还是硬着头皮一起来看看第一章吧!由于一章内容较多,我会分开来写.本篇内容大纲: 将源…
CLR执行模型与常见的几个概念 一.CLR执行模型 1.1从代码到程序集 CLR执行的模型是从代码开始,经过编译器生成托管模块,默认情况下可以让多个托管模块和资源生成程序集.下图为其大致过程. 1.2执行程序集 当系统运行托管模块时会检查文件头,判断启用一个32位的进程还是64位的,然后会在其进程中加载对应的MsCorEE.dll,里面有个初始化CLR的一个方法,初始完CLR,加载程序集,进入程序入口方法.在执行Main方法之前,为了能让电脑运行程序,CLR必须让IL程序集转化成指令.首先CLR…
好好学习底层运行机制,从CLR via C# 开始. CLR的执行模型: CLR:Common Language Runtime,是一个可由多种编程语言使用的"运行时".CLR的核心功能(比如内存管理.程序集加载.安全性.异常处理和线程同步)可由面向CLR的所有语言(C#,Visual Basic,F#等)使用. 1.将源代码编译成托管模块: CLR根本不关心开发人员用那一种语言来写源代码,说明我我们写C#代码的时候肯定还经过一定的步骤才能跟CLR,于是就需要相应的面向CLR的.可以编…
编译器将源代码编译为托管模块.托管木块包含: PE32或PE32+头 CLR头 元数据 IL(中间语言)代码 PE32头的文件可在32或64位的电脑上运行,PE32+的只能在64上运行.Window64位版本提供了一个WoW64的技术,允许32位的程序运行. CLRVer.exe能够列出一台电脑上安装的所有的CLR版本.-all命令可以查看正在运行的进程是使用的CLR版本号. /optimize /debug决定代码的IL优化和本地代码的优化质量. NGen.exe可以在一个应用程序安装到用户的…
1.1 释义 CLR 公共语音运行时 Common Language Runtime CTS 通用类型系统 Common Type System CTS.CLS是CLR的核心 CLS 通用语言规范 Common Language Specification CLS是CTS的子集 IL 托管代码 栈 COM 类型库 Type Library IDL 接口定义语音 Interface Definition Language FCL FrameWork类库 Framework Class Librar…
如有错误,还望指出:…
第一章 CLR 的执行模型(2) 本篇内容大纲 Framework 类库(Framework Class Library , FCL) 通用类型系统(Common Type System,CTS) 公共语言规范(Common Language Specification,CLS) 总结 一.Framework 类库(Framework Class Library , FCL) 1.mscorlib.dll (Microsoft Core Library,微软核心类库) 我们先来看个例子.新建一个…
一.            数据和变量: 省略号(三个英文句点):表示换行 历史指令调用:用方向键上下 数据显示格式:                    format short                    format long                    format rational   复数: I,j realmin:最小正实数 realmax:最大正实数 Inf:无穷大   eg:2/0 NaN:不定值  eg:0/0   二.            数组的输入…
Cp1CLR执行模型 本章的概念点 CLR=Common Language Runtime 内存管理,程序集加载,安全性,异常处理和线程同步.CLR是基础,支持着面向它的各种语言.各种语言会被对应的编译器转换为托管模块. 不同语言有各自的优点和不足. 在需要托管程序运行的电脑上必须安装CLR(.NET Framework). 托管模块managed module PE32,PE32+=portable Executable CLR头(CLR版本,标志,IL入口的标记,元数据,资源,强名称,其他)…