zoukankan      html  css  js  c++  java
  • .NET IL学习笔记(一)

      参考资料:

      1. 《.NET IL Assembler》

      2. NGEN代码产生器

      3. NGEN的使用

      4. IL编辑器下载

      5. IL编辑器的使用

      知识点:

      ● Common Language Runtime是整个.NET的核心,它是.NET应用程序的运行时环境,提供了.NET应用程序和底层操作系统的操作层。

      ● Common Language Specifications是保证.NET应用程序之间互操作性的规则的集合。

      ● .NET应用程序的抽闲中间表示主要包括两部分:元数据metadata和托管代码managed code。元数组是应用程序所有结构化项描述符和描述符之间联系的集合,包括类、类成员、特性、全局项等。托管代码代表了应用程序函数的功能,被一种抽象的二进制形式语言的MSIL(或称CIL)所表示。运行时环境负责管理IL代码。CLR管理主要包括三个部分:类型控制、结构化异常处理和垃圾回收。类型控制会涉及在执行阶段验证和转换item的类型。托管异常处理同非托管结构化异常处理类似,不同之处在于它由运行时完成而不是操作系统。垃圾回收会涉及自动确认和处理不再使用的对象。

      

                    图1 托管.NET应用程序的创建和执行

      ● 图1中空心圆圈箭头代表数据传输,实心圆圈箭头代表请求和控制信息。我们可以使用NGEN应用将IL预编译成本地代码(在可执行程序会从本地磁盘被重复执行的时候,而不是用JIT)。.NET Framework的托管组件会在安装的时候被预编译成标准例程。预编译代码会被保存在本地磁盘或其他设备上,每次调用时会使用预编译的版本代码而不是原始的IL版本。然而,原始代码也必须存在,因为预编译代码在被使用时必须被授权,否则将会使用原始IL版本。

  • 相关阅读:
    (转)【web前端培训之前后端的配合(中)】继续昨日的故事
    ural(Timus) 1136. Parliament
    scau Josephus Problem
    ACMICPC Live Archive 6204 Poker End Games
    uva 10391 Compound Words
    ACMICPC Live Archive 3222 Joke with Turtles
    uva 10132 File Fragmentation
    uva 270 Lining Up
    【转】各种字符串哈希函数比较
    uva 10905 Children's Game
  • 原文地址:https://www.cnblogs.com/AmitX-moten/p/5353453.html
Copyright © 2011-2022 走看看