用C#编写的代码经C#编译器后,并非生成本地代码而是生成托管代码。也就是说,程序集在打包时是连同CLR一起打包的。在客户端的机器上,CLR一行行的读取IL,在读取每行IL时,CLR利用JIT编译器将IL编译成本地的CPU指令。若要节省这段JIT编译器进行编译的时间,可以利用ngen.exe生成程序集的本机镜像,生成的本机镜像保存在全局程序集(GAC)的一块保留区域内。

下面举个例子,进行简单说明。打开VS2005,新建一个windows应用程序,命名为AP。在添加两个类库项目,分别命名为A和B,且进行强命名。
       在命令提示行内打入如下,命令就可以创建本机镜像:
       ngen AP.exe
       "A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5",
       "B, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5"

之后,打开“控制面板”—“管理工具”—“microsoft .net framework 2.0 配置”在程序集缓存的节点下就可以看到AP.EXE,A.DLL,B.DLL三个程序集,其类型显示也不再是MSIL而是X86。

用C#编写的代码经C#编译器后,并非生成本地代码而是生成托管代码相关推荐

  1. 通过Visual Studio为Linux编写C++代码

    Build 2016大会上Microsoft首次公布的Visual Studio 2015扩展提供了在VS2015中编写C++代码,随后通过Linux/UNIX计算机进行编译和执行的能力.这种想法非常 ...

  2. 嵌入式开发板03---看门狗、编写启动代码

    看门狗 一般CPU的设计在CPU启动后看门狗默认是工作的,在S5pV210内部的iROM代码(BL0)中,其实已经关过看门狗了.很多CPU内部是没有BL0的因此都要在启动代码的前段自己写代码关闭看门狗 ...

  3. 测试用什么编译java代码_java – 测试编译器

    我参与了一个项目,其中Java AST被翻译成另一种语言OpenCL,使用Eclipse编译器,并且有类似的问题. 我没有为你提供神奇的解决方案,但我会分享我的经验以防万一. 您使用预期输出(使用ou ...

  4. 程序解释器忽略不执行的代码部分_编译器和解释器各有什么特点与区别

    编译器和解释器各有什么特点与区别 这是我们编译原理老师前几天发在在线学习平台上(没办法,因为肺炎,都只能搞个在线学习了)的一个课前讨论问题,写着写着就发现好像写的有点多了,不好发布在平台上了,于是就干 ...

  5. 基于驱动框架编写驱动代码

    前言:基于上一个博文对 linux驱动的认知的了解,那么现在开始我们正式来进入学习基于驱动框架来编写驱动代码,那么接下来我们先来看看一个最简单的驱动框架代码 一.字符设备驱动框架代码与应用层代码 驱动 ...

  6. 【低代码】手写低代码中的编译器/翻译器

    编译器.解释器 相信计算机的同学对这两个词一定不陌生,从学计算机开始,我们就知道了计算机是二进制的世界,而我们用高级语言编写的代码计算机是无法理解的,编译器就是将我们编写的代码编译成计算机可以执行的二 ...

  7. 嵌入式linux开发-(一)如何编写linuxC代码并运行(ubantu20.04)

    ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大二学生. ⏩最近开始学习嵌入式linux驱动开发编程,本文对如何编写linuxC代码进行一个总结,也做一个记录. ⏩感谢你的阅读,不对的 ...

  8. 编写Pascal代码

    编写Pascal代码 注释 在Pascal中,注释括在大括号中或带星号的圆括号中.Delphi 也认可C++ 风格的注释,即把注释放在双斜线后.例如 {this is a comment} (* th ...

  9. VS code 编写汇编代码【微机原理】

    VS code 编写汇编代码[微机原理] 前言 推荐 VS code 编写汇编代码 第一步 添加插件 第二步 打开文件 第三步 编写文件 第四步 选择编译器 第五步 运行程序 第六步 调试程序 第七步 ...

最新文章

  1. redis常用优化及持久化到硬盘
  2. JavaWeb学习总结(一)——JavaWeb开发入门
  3. Java基础查漏补缺(2)
  4. delphi 企业微信消息机器人_企业微信—群聊机器人
  5. JS中令人发指的valueOf方法介绍
  6. JVM上的高并发HTTP客户端
  7. springmvc怎么设置更改了界面不用重启_Microsoft Visual Studio 2019 更改语言包
  8. java comparator_Java基础之String漫谈(二)
  9. Lecture 7 Hashing Table I
  10. 【会议/期刊】中科院推荐计算机领域人工智能方向会议和期刊列表
  11. 经验总结 | PyCharm 详细使用指南!
  12. python split 正则_Python 正则表达式:split
  13. 3.程序员的自我修养---目标文件
  14. PhalApi 如何请求接口服务
  15. 图形化生物软件专题(4):MEGAN
  16. 【MySQL--03】表的操作
  17. python解码报错,gbk和utf-8都不行了
  18. 2维正态分布-矩阵表示-推导过程
  19. 未来的两马之争,马化腾如何才能打赢马云?
  20. 球场外也有比赛,央视影音逆袭世界杯,极速高清全靠腾讯云

热门文章

  1. 《MySQL 8.0.22执行器源码分析(2)解读函数 ExecuteIteratorQuery》
  2. 《MySQL——增删改查以及常用语法》
  3. 【C++grammar】访问控制与抽象类与纯虚函数
  4. treeset java_Java TreeSet pollLast()方法与示例
  5. Java StackTraceElement toString()方法与示例
  6. FreeRTOS任务通知
  7. php编译成二进制文件_2020年小米高级 PHP 工程师面试题
  8. linux中将光标与操作系统,linux操作系统基本命令介绍(2)
  9. go定时器 每天重复_Go语言学习基础-定时器、计时器
  10. C语言中的深拷贝和浅拷贝