搜狗网站提交,山东建设信息网站,移动宽带续费网上可以续费嘛,可信网站是否有规定必须做本文主要介绍IL代码#xff0c;内容大部分来自网上#xff0c;进行整理合并的。 一、IL简介 为什么要了解IL代码#xff1f; 如果想学好.NET#xff0c;IL是必须的基础#xff0c;IL代码是.NET运行的基础#xff0c;当我们对运行结果有异议的时候#xff0c;可以通过IL代… 本文主要介绍IL代码内容大部分来自网上进行整理合并的。 一、IL简介 为什么要了解IL代码 如果想学好.NETIL是必须的基础IL代码是.NET运行的基础当我们对运行结果有异议的时候可以通过IL代码透过表面看本质IL也是更好理解、认识CLR的基础大量的实例分析是以IL为基础的所以了解IL是读懂他人代码的必备基础同时自己也可以获得潜移默化的提高 什么是IL IL是.NET框架中中间语言Intermediate Language的缩写。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件但此时编译出来的程序代码并不是CPU能直接执行的机器代码而是一种中间语言ILIntermediate Language的代码(来源百度)。 IL指令大全 点这里 IL代码编译器 ILDasm 点这里 C#代码编译过程 C#源代码通过LC转为IL代码IL主要包含一些元数据和中间语言指令JIT编译器把IL代码转为机器识别的机器代码。如下图 语言编译器无论是VB code还是C# code都会被Language Compiler转换为MSIL MSIL的作用MSIL包含一些元数据和中间语言指令 JIT编译器的作用根据系统环境将MSIL中间语言指令转换为机器码 为什么ASP.NET网站第一次运行时会较慢而后面的执行速度则会相对快很多 当你第一次运行.NET开发的站点时CLR会将MSIL通过JIT进行编译最终转换为执行速度非常快的Native Code。这可以解释。 关于这一部分我也不大熟悉以后再学习。 二、怎么查看IL代码 一IL查看工具 现在可以查看IL的工具其实很多。 1ILDasm 打开vs在工具 - 外部工具 把ILDasm导入到VS工具中具体如下 位置C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe Microsoft SDKs\Windows下的文件夹下有多个ildasm包括的版本有.NET 4.0 ,4.5.1,4.6,4.6.1,4.6.2等 在VS的工具下这时就可以看到打开ILDasm然后打开想看的dll或exe就可以了IL代码通过ILDasm反编译后如下 符号解释 如果想查看IL通过文件-转储保存下来就可以查看 2ILSpy 使用简单注意默认选择的是c#改为IL即可 开源地址https://github.com/icsharpcode/ILSpy 3Reflector 这是也是很出名的不介绍了使用教材https://www.cnblogs.com/Helius/p/5273116.html 4LINQPad 它实际是个对linq方面的工具但也可以看IL 5Resharper 打开方法vs的Resharper菜单栏-window-IL Viewer,随时都可以查看 有条件的建议使用非常方便 二实例解析 1.使用.net Reflector手动修改单个dll文件 https://www.cnblogs.com/lycnblogs/p/5026413.html 参考 http://www.cnblogs.com/zery/archive/2013/10/15/3366175.html https://www.cnblogs.com/yinrq/p/5486103.html http://www.jb51.net/article/39635.htm https://www.cnblogs.com/tk091/archive/2012/09/01/2666810.html 转载于:https://www.cnblogs.com/xcsn/p/3382306.html