CLR via C# 笔记系列 - clr的执行模型
1. 托管模块的组成部分
(1)PE32或 PE32+ 头。PE是Portable Executable的简称,如果使用PE32头,文件能在windows32以及64版本运行,如果是PE32+,那么只能在64位本版运行。
(2) CLR头。
(3) 元数据:主要有两种元数据表,一种描述源代码中定义的类型和成员,另一种描述引用的类型和成员
(4) IL(中间代码)
2. 和其他任何机器语言一样,IL也能使用汇编语言来写,微软还提供了名为ILAsm.exe的IL汇编器和ILDasm.exe的反汇编器。 通常高级语言只公开了CLR部分功能,但IL允许开发人员访问CLR所以功能。
3. 一个方法首次调用时的情景
第二次调用时情景
4. Framework类库,FCL(Framework Class Library)是一组DLL程序集的统称,定义了开发者经常用到的功能。
5. 关于CLR/CTS和CLS以及各种语言之间的关系
CLR - Common Language Runtime公共语言运行时
CTS - Common Type System通用类型系统
定义了类型系统可包含的成员字段,方法,属性,事件。以及可访问性等
CLI - Common Language Infrastructure
CLS - Common Language Specification公共语言规范
与CTS不同,CLS定义了一个CLR的一个最小功能子集。任何编译器生成的类型要想兼容于其他语言所生成的组件,就必须支持这个最小功能集。
转载于:https://www.cnblogs.com/minisquirrel/archive/2011/03/01/1968382.html
CLR via C# 笔记系列 - clr的执行模型相关推荐
- CLR基础全面版-概念、执行模型、托管模块、程序集、FCL
文章目录 CLR介绍 概念:CLR Common Language Runtime 公共语言运行时 执行模型 .NET框架的核心,它为.NET应用程序提供了一个托管的代码执行环境 托管模块 程序集 F ...
- vue如何让一句代码只执行一次_lt;Vue 源码笔记系列4gt;异步更新队列与$nextTick...
1. 前言 原文发布在语雀: <Vue 源码笔记系列4>异步更新队列与$nextTick · 语雀www.yuque.com 上一章我们讲到了修改数据是如何触发渲染函数的观察者,最终调用 ...
- 第一章 CLR执行模型
发现看过好几遍还是会忘记,因水平有限理解的不是很到位.欢迎各位大神及时指正. CLR执行模型 1.1编译器将源代码编译成托管模块 托管模块:是标准的windows可移植执行体文件(PE32(32位机器 ...
- Sharepoin学习笔记—架构系列--05 Sharepoint的四种执行模型 2
上一篇我们看了场解决方案与沙盒方案两种执行模型,其中场解决方案包括有完全信任方式与Bin/CAS方式两种,这里让我们继续来看看最后一个执行模型,即混合模型(或混合模式). 三.混合模式(hybrid ...
- Sharepoin学习笔记—架构系列--04 Sharepoint的四种执行模型 1
Sharepoint210有四种执行模型 1.完全信任执行模型(Full Trust) 2.Bin/CAS 执行模型 (1与2都属于场解决方案) 3.沙盒执行模型(Sand Box) 4. 混合执行方 ...
- Sharepoin学习笔记—架构系列--03 Sharepoint的处理(Process)与执行模型(Trust Model) 2
上文我们了解了一个外部Http Request进入IIS 工作进程(W3WP)的处理与执行信任模型,这个阶段是Sharepoint的四种执行模型都必须经过的处理阶段,其中Sharepoint场解决方案 ...
- Sharepoin学习笔记 —架构系列--02 Sharepoint的处理(Process)与执行模型(Trust Model) 1
Sharepoint210有四种执行模型: 1.完全信任执行模型(Full Trust) 2.Bin/CAS 执行模型 (1与2都属于场解决方案) 3.沙盒执行模型(Sand Box) 4. 混合执行 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP-王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引
SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...
最新文章
- objective-c abort() 与 exit() 函数的区别
- 梯度算法求步长的公式_LM(Levenberg-Marquarelt)算法
- PageRank的基本原理以及个性化PageRank在推荐系统的应用
- LeetCode OJ - Copy List with Random Pointer
- svn教程----eclipse的SVN插件使用
- oracle分页查询数据(收藏)
- 超越Swin,Transformer屠榜三大视觉任务!微软推出新作:Focal Self-Attention
- [PyJs系列介绍]三、编译与上线
- 中英翻译机c语言实验报告引言,课程设计--C语言关键字中英翻译机.doc
- 求你了,别再说Java对象都是在堆内存上分配空间的了!
- Spring cloud开发内存占用过高解决方法
- mysql for oracle_模块与包 Mysql与Oracle区别
- 数据集获取方式和数据加强方式
- mysql中怎样把字段名改为中文_mysql修改字段名-Mysql,修改
- 戴尔笔记本计算机图标,戴尔笔记本原装桌面图标不见了怎么处理
- win10除去桌面图标小箭头(绝对没有坑!!!)与 该文件没有与之关联的程序来执行该操作。。。
- 华为Mate S发布:余承东说要在圣诞季和三星、苹果正面开战---ESM
- [Android开发] Xposed 插件开发之一: Xposed入门
- 4.2 人工智能产业岗位分布
- 手动清除jwgkvsq.vmx病毒
热门文章
- java学习_java学习原理篇|java程序运行套路
- 蚁剑特征性信息修改简单过WAF
- Python Demo 06 金庸武侠写作风格分析
- 剑指offer 栈的压入、弹出序列
- Scala入门到精通——第五节 函数、高阶函数与闭包
- 菜鸟,下一代分布式体系架构的设计理念
- 【offer去哪了】我一连面试了十个Java岗,统统石沉大海!
- centos7 systemctl status servicename执行慢的问题
- 新概念英语(1-11)Is this your shirt ?
- 【BZOJ4821】【SDOI2017】相关分析 [线段树]