用C#编写的代码经C#编译器后,并非生成本地代码而是生成托管代码
用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#编译器后,并非生成本地代码而是生成托管代码相关推荐
- 通过Visual Studio为Linux编写C++代码
Build 2016大会上Microsoft首次公布的Visual Studio 2015扩展提供了在VS2015中编写C++代码,随后通过Linux/UNIX计算机进行编译和执行的能力.这种想法非常 ...
- 嵌入式开发板03---看门狗、编写启动代码
看门狗 一般CPU的设计在CPU启动后看门狗默认是工作的,在S5pV210内部的iROM代码(BL0)中,其实已经关过看门狗了.很多CPU内部是没有BL0的因此都要在启动代码的前段自己写代码关闭看门狗 ...
- 测试用什么编译java代码_java – 测试编译器
我参与了一个项目,其中Java AST被翻译成另一种语言OpenCL,使用Eclipse编译器,并且有类似的问题. 我没有为你提供神奇的解决方案,但我会分享我的经验以防万一. 您使用预期输出(使用ou ...
- 程序解释器忽略不执行的代码部分_编译器和解释器各有什么特点与区别
编译器和解释器各有什么特点与区别 这是我们编译原理老师前几天发在在线学习平台上(没办法,因为肺炎,都只能搞个在线学习了)的一个课前讨论问题,写着写着就发现好像写的有点多了,不好发布在平台上了,于是就干 ...
- 基于驱动框架编写驱动代码
前言:基于上一个博文对 linux驱动的认知的了解,那么现在开始我们正式来进入学习基于驱动框架来编写驱动代码,那么接下来我们先来看看一个最简单的驱动框架代码 一.字符设备驱动框架代码与应用层代码 驱动 ...
- 【低代码】手写低代码中的编译器/翻译器
编译器.解释器 相信计算机的同学对这两个词一定不陌生,从学计算机开始,我们就知道了计算机是二进制的世界,而我们用高级语言编写的代码计算机是无法理解的,编译器就是将我们编写的代码编译成计算机可以执行的二 ...
- 嵌入式linux开发-(一)如何编写linuxC代码并运行(ubantu20.04)
⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大二学生. ⏩最近开始学习嵌入式linux驱动开发编程,本文对如何编写linuxC代码进行一个总结,也做一个记录. ⏩感谢你的阅读,不对的 ...
- 编写Pascal代码
编写Pascal代码 注释 在Pascal中,注释括在大括号中或带星号的圆括号中.Delphi 也认可C++ 风格的注释,即把注释放在双斜线后.例如 {this is a comment} (* th ...
- VS code 编写汇编代码【微机原理】
VS code 编写汇编代码[微机原理] 前言 推荐 VS code 编写汇编代码 第一步 添加插件 第二步 打开文件 第三步 编写文件 第四步 选择编译器 第五步 运行程序 第六步 调试程序 第七步 ...
最新文章
- redis常用优化及持久化到硬盘
- JavaWeb学习总结(一)——JavaWeb开发入门
- Java基础查漏补缺(2)
- delphi 企业微信消息机器人_企业微信—群聊机器人
- JS中令人发指的valueOf方法介绍
- JVM上的高并发HTTP客户端
- springmvc怎么设置更改了界面不用重启_Microsoft Visual Studio 2019 更改语言包
- java comparator_Java基础之String漫谈(二)
- Lecture 7 Hashing Table I
- 【会议/期刊】中科院推荐计算机领域人工智能方向会议和期刊列表
- 经验总结 | PyCharm 详细使用指南!
- python split 正则_Python 正则表达式:split
- 3.程序员的自我修养---目标文件
- PhalApi 如何请求接口服务
- 图形化生物软件专题(4):MEGAN
- 【MySQL--03】表的操作
- python解码报错,gbk和utf-8都不行了
- 2维正态分布-矩阵表示-推导过程
- 未来的两马之争,马化腾如何才能打赢马云?
- 球场外也有比赛,央视影音逆袭世界杯,极速高清全靠腾讯云
热门文章
- 《MySQL 8.0.22执行器源码分析(2)解读函数 ExecuteIteratorQuery》
- 《MySQL——增删改查以及常用语法》
- 【C++grammar】访问控制与抽象类与纯虚函数
- treeset java_Java TreeSet pollLast()方法与示例
- Java StackTraceElement toString()方法与示例
- FreeRTOS任务通知
- php编译成二进制文件_2020年小米高级 PHP 工程师面试题
- linux中将光标与操作系统,linux操作系统基本命令介绍(2)
- go定时器 每天重复_Go语言学习基础-定时器、计时器
- C语言中的深拷贝和浅拷贝