.Net程序编译运行过程

托管代码与非托管代码

1.非托管代码

非托管代码程序必须依赖于操作系统,经编译器生成的程序文件是只适用于特定CPU架构的指令。

缺点:不同操作系统,需要单独编写代码,重复且低效。

2.托管代码

最早Java跨平台设计思想,.NET从03年开始。不依赖于特定操作系统和CPU架构

通过将语言本身转换为一种跨平台的指令,这种指令Java中被称作ByteCode(字节码),.NET中称作MSIL指令(微软中间语言)。

.NET的MSIL运行于CLR(Common Language  Runtime),通用语言运行时,实际上是一个虚拟机。Java的ByteCode行于JIT。

3.IL Dasm

IL Dasm可以查看MSIL 中间语言。

猜你喜欢

转载自www.cnblogs.com/NETer-P/p/12153454.html
今日推荐