zoukankan      html  css  js  c++  java
  • 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_CLR

    1.CLR简介

    全称:Common Language Runtime(公共语言进行时)

    属性:一种托管模块

    使用对象:面向CLR的所有语言(C#、Basic、IL...)

    核心功能:内存管理、程序集加载、安全性、异常处理、线程同步

    2. 源代码与CLR的关系

    3.CLR托管模块的组成部分

    【PE32 或 PE32+ 头】

    标准 Windows PE 文件头,类似于“公公对象文件格式”(Common Object File Format,COFF)头。如果这个头使用 PE32 格式,文件能在 Windows 的 32 位或 64 位版本上运行。如果这个头使用 PE32+ 格式,文件只能在 Windows 的 64 位版本上运行。这个头还标识了文件类型,包括 GUI,CUI 或者 DLL,并包含一个时间标记来指出文件的生成时间。对于只包含 IL 代码的模块,PE32(+) 头的大多数信息会被忽视。对于包含本地 CPU 代码的模块,这个头包含了与本地 CPU 代码有关的信息

    【CLR 头】

    包含是这个模块成为一个托管模块信息(可由 CLR 和一些实用程序进行解释)。头中包含了需要的 CLR 版本,一些标志(flag),托管模块入口方法(Main 方法)的 MethodDef 元数据标记(token),以及模块的元数据、资源、强名称、一些 flag 以及其它不太重要的数据项的位置/大小

    【元数据】

    每个托管模块都包含元数据表。主要有两种类型的表:描述源代码中定义的类型和成员的表;描述源代码引用的类型和成员的表

    【IL代码】

    编译器编译代码时生成的代码。在运行时,CLR 将 IL 编译成本地 CPU 指令 

  • 相关阅读:
    Redis 安装(Windows)
    etcd简介与应用场景
    Nginx+SignalR+Redis(二)windows
    Nginx+SignalR+Redis(一)windows
    Windows 版MongoDB 复制集Replica Set 配置
    走进异步世界async、await
    认识和使用Task
    进程、应用程序域、线程的相互关系
    ASP.NET Core实现类库项目读取配置文件
    用idea做springboot开发,设置thymeleaf时候,新手容易忽略误区
  • 原文地址:https://www.cnblogs.com/lishidefengchen/p/4345668.html
Copyright © 2011-2022 走看看