A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢辉林 中级黑马   /  2013-3-14 12:22  /  2058 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

net开发的程序要在计算机上运行,首先程序经过编译后,会生成机器指令,一般以一个文件的形式保存,这个文件在外存储器上(存储器分外存与内存。外存:硬盘,U盘等;),然后cpu会把硬盘上的文件读到内存中,会在内存中分配一个内存区域,专门存放文件内容,会有个唯一的地址,cpu就会读到这个地址,取出内容,执行机器指令。但是生成的程序却不能放到别的机器上和不同操作系统的计算机上进行执行,因为编译程序生成的文件包含了特定的cpu的机器指令,所以必须对代码加以修改,去适应不同计算机和不同操作系统的,这样的代码称为非托管代码。这样的代码局限性太大,会给程序员带来很大重复性工作。因此后来在.net中出现了中间语言,这个就是程序经过编译以后就会转化为中间语言,但是中间语言不能被cpu所认识,必须转为为机器指令,这时就需要把中间语言翻译成机器语言,这时就出现了这样一个软件系统,叫着VM(虚拟机),虚拟机可以让不同计算机和不同操作系统运行程序,.net的这个虚拟机便是.net framework。运行在虚拟机上的代码成为托管代码。所以计算机要想运行.net程序,那么必须先安装.net framework 。

1 个回复

正序浏览
有点像Java的虚拟机
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马