[Programming IL] 从Hello World开始
2008-09-12 09:21
357 查看
名词解释
IL = Intermediate Language, 在.Net的设计中成为CIL = Common Intermediate Language, 而因为CIL本身是通用的,而微软为他设计了一种实现,在微软平台上我们也可以称他为MSIL目标
为.Net平台的底层设计提供一个具体实现,基本编程语言的特性,如流程控制,判断,算术计算,地址等等。还有面向对象的具体设计,类和类之间的关系,隐藏,继承,接口等等。更有一些对函数式语言的支持,了解IL不仅仅是对程序的深一步理解,更是对.Net Framework产生框架性认识的重要依据。个人认为 :)
基础知识
每一个.Net应用程序或者是程序集都实际上一个PE(Portable Execution)文件, 关于PE文件格式等等的详细说明将在后面讲述实例 - 从HelloWrold开始
代码:1: .assembly extern mscorlib {}
2: .assembly hello {}
3: .method static public void main() cil managed
4: {
5: .entrypoint
6: .maxstack 1
7: ldstr "Hello world!"
8: call void [mscorlib]System.Console::WriteLine(class System.String)
9: ret
10: }
1. mscorlib位于 %Windows%/Microsoft.NET/Framework/v2.0.50727 下,他是.Net程序和API交互的基础,包含了基础类库(BCL)的实现
2. 设置程序集名称为hello
3. ...
5. .entrypoint 入口点
6. 分配栈
7. 加载string
8. 调用方法
9. 返回
了解IL很久了,最近探索下.Net设计等等东西, 开始看IL也有一段时间了,工作比较忙,反而搁置了,写这个东西也不是为了啥,只是督促自己一下.
参考书籍:
Expert.NET 2.0 IL Assembler
Common Language Infrastructure Partition II
相关文章推荐
- 【C/C++教学专题之012】从Hello World开始
- RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World(转载)
- 从Hello World开始学Qt
- 第3章 Spring Boot快速开始Hello World
- RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World
- BlackBerry HTML5 WebWorks——从Hello World开始
- 深入理解计算系统」从Hello World开始
- Prism学习笔记(一) 从Hello World开始
- 微信小程序教程入门篇 (1):10分钟从0开始写一个hello world,极其详细
- Linux内核编程:从hello world 开始-(1)_C文件编写
- vb.net 教程 1-1 从 hello world 开始
- 1.开始用Tornado:从Hello World开始 (副标题:了解Tornado代码组织)
- lua学习(2)-- 从Hello World 开始
- Hello world开始复习
- C语言,不是从hello world开始
- RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World
- ios程序猿学习Swift 第一天 从Hello World开始
- Ext.Net控件,简单案例1,让我们从Hello World开始,走进Ext.Net控件的世界!。
- Umbraco网站制作(一)从Hello World开始
- Linux内核编程:从hello world 开始-(3)_run