zoukankan      html  css  js  c++  java
  • .net平台下对C#代码的编译

    最近赶项目忽然想到一个问题,那就是在 .Net平台下的C#代码是怎么从源代码到机器可以识别的电脑的(只怪自己上学不好好读书,现在又要重补一遍了!!!)

    话不多说直接上调研结果:

      预习知识:

          1: IL 是微软.NET平台上衍生出的一门中间语言,.NET平台上的各种高级语言(如C#,VB,F#)的编译器会将各自的代码转化为IL。

          2: CLR是一个可以由多编程语言使用的运行时,CLR的核心功能:内存管理,程序集加载,安全性,异常处理,线程同步等等。可以被很多属于微软系列的开发语言使用。

       结果:

          .net framework的核心是其运行库执行环境,成为公共语言运行库(CLR)或.net运行库。通常将在CLR控制下运行的代码称为托管代码(managed code)。CLR执行编写好的源代码之前需要编译他们。.net中编译分为两个阶段:

               (1)把源代码编译为Microsoft中间语言(IL).
               (2)CLR把IL编译为平台专用的代码。

          第一次编译很慢(通过各自的编译器)(由源代码---->>中间代码IL),第二次编译很快(通过CLR)(由中间代码---->>机器代码)

         

         版权声明:本文为博主原创文章,如需转载,请标明出处。

  • 相关阅读:
    线性表之链式存储结构
    最大公约数:辗转相除法
    字符串系列之:逆序输出字符串
    链表有关的常见面试题
    从数组中找出最大的和最小的数
    C语言实现简单线程池
    线性表之顺序存储结构
    新学了姜葱豆腐
    渗透1
    MySQL注入中新Tips
  • 原文地址:https://www.cnblogs.com/gamecc666/p/11324723.html
Copyright © 2011-2022 走看看