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 指令 

  • 相关阅读:
    常用Git命令清单
    上海金瑢信息有限公司面试
    上海视频面试
    bootstrp-3.0
    B站小姐姐面试分享2
    B站小姐姐分享第一次电话面试
    Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
    findIndex
    es5,es6
    es6数组去重
  • 原文地址:https://www.cnblogs.com/lishidefengchen/p/4345668.html
Copyright © 2011-2022 走看看