当前位置:IT168首页 > 技术开发 > 概述
[收藏此页] [打印] [推荐] [评论]

通过HelloWord认识MSIL

责任编辑:nancy作者:ITPUB论坛   2008-05-20   
文本Tag: 微软 sql

【IT168技术文档】

  托管程序的编译过程如下图所示

  其中MSIL(Microsoft 中间语言)起到了承上启下的作用,它介于源代码(Source Code)和机器代码(Machine Code)之间,因为MS或者其他组织为我们提供了从源代码到MSIL的编译器,所以我们能将C#,VB,J#,C++,JS等等高级语言的源程序清单编译成为MSIL,而MSIL代码无法直接运行,必须根据特定的CPU指令,通过JIT(实时编译器)将MSIL代码编译成为机器代码。这样就完成了对机器代码和高级语言之间的隔离。使得各种编程语言都能在CLR下得以统一的实现。

  涉及到的基础知识比较多,难以赘述,先通过最简单的程序来认识一下MSIL吧。

  用C#编写下面的程序
using System; using System.Collections.Generic; using System.Text; namespace Lesson1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.Read(); } } }
  生成该代码Lesson1.exe,在.net framework中,提供了两个工具:

  * MSIL 汇编程序 (Ilasm.exe) 该工具能将MSIL代码生成可移植可执行的(PE)文件
  * MSIL反汇编程序(Ildasm.exe) 该工具能将可执行PE反汇编成为MSIL代码

  下面就与Ildasm.exe来将可执行的Lesson1.exe文件反汇编成为包含MSIL代码的Lesson1.il的。方式为,通过SDK命令提示,如下图所示执行ildasm工具
上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/d/2008-05-20/200805200720874.shtml
技术开发相关文章   .net server SQL 微软
  • 暂无
友情推介