博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CLR via C# 阅读 笔记
阅读量:5127 次
发布时间:2019-06-13

本文共 1392 字,大约阅读时间需要 4 分钟。

初读  CLR Via C# 有一些 名词需要记忆:

1、CLR: Common Language Runtime (公共语言运行时)

  可有多种编程语言使用的Runtime. 其核心功能是: 内存管理、 程序集加载、 安全性、 异常处理和线程同步等;

2、 Managed Module (托管模块)

  托管模块包括: PE32 或PE32+ 、CLR 头 、 元数据 、 IL代码。

3、PE: Protable Executable (可移植执行体) 。

  PE32:是 标准32位 windows 可移植执行体文件。

  PE32+: 是标准64位 可移植执行体文件

4、DEP: Data Execution Prevention (数据执行保护)

5、ASLR: Address Space Layout Randomization, 地址空间布局随机化

6、Native Code Compilers (本机代码编译器) : 生成的是面向 特定CPU(比如:x86 , x64或ARM)架构的代码

7、 IL(中间)代码: 又称 托管代码(Managed Code).

8、MetaData(元数据 ):  数据表集合, 描述了 (1)源代码中定义的类型和成员 ,(2)源代码中引用的类型和成员。

9、Assembly(程序集)

源代码文件 --经编译器 成---> 托管模块 ;

托管模块 + 资源文件 -----经工具合并成 -----> 程序集;

 

10、 JIT (just -in-time)

11、JITCompiler : 即时编译器。 职责: 将方法的IL 转换成 本机(native) CPU 指令。

 当第一次 执行一个方法时,此方法 要经过 JITCompiler 转换成 Native CPU 指令。 

12、 DLL : Dynamic Link Library (动态链接库)

13、 FCL: FrameWork Class Library , FrameWork 类库。

14、CTS: Common Type System,  通用类型库

15、CLS: Common Language Specification ,  公共语言规范。

16、CTE :Compile-Time Error 编译时错误;

17、RTE:Run-Time Error 运行时错误;

18、extern alias : 外部别名

19、命名空间和程序集的关系

  命名空间和程序集不一定相关。  

  (1)、同一个命名空间中类型可能在不同程序集中实现。

   (2)、同一个程序集也可能包含不同命名空间中的类型。

20、栈帧(stack frame): 代表 当前线程的调用栈中的一个方法调用。

 21、类型对象指针:(type object pointer)

22、同步块索引 : (sync block index)

23、疑问: 线程栈、 托管堆、 和  CLR运行时的关系 ?

     线程栈 存储的是 局部变量 或 参数的 地址 

    托管堆中 是 new 创建的对象 ; 每个对象都包括 三部分:类型对象指针、 同步块索引 、 静态字段 以及方法表(方法表包括记录项);

 

转载于:https://www.cnblogs.com/generalLi/p/6218791.html

你可能感兴趣的文章
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
[转]: 视图和表的区别和联系
查看>>
图论例题1——NOIP2015信息传递
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
Red and Black(poj-1979)
查看>>
分布式锁的思路以及实现分析
查看>>
腾讯元对象存储之文件删除
查看>>
jdk环境变量配置
查看>>