.net工作原理是什么,是否可以支持多种语言?
2个回答
展开全部
1、.net工作原理:
编码语言(c#,vb.net,c++等) 编码后,由vs负责把它编译为中间代码(MSIL),存放在装配件中,而后由JIT编译器把中间代码翻译为目标机器可读的目标代码.装配件是有中间语言编写的,主要包括.exe,.dll等文件,以及描述散拍这些文件信息的元数据.装配件是完全自我描述的,描述信息记录在元嫌掘陆数据中,这样关于代码的信息就不用写入注册表中,对付部署是芹顷大有好处的.如:以前的编程语言,写出的类库(dll)都要在注册表中相信记录其信息(版本等),这样程序运行时候,系统才能根据注册表中信息找到相应的DLL.
而有了装配件的概念后,这个动作就不需要了.这里涉及到DLL搜索顺序:GAC---CONFIG---可执行文件所在目录. 中间代码(IL)是独立于OS,CPU,机器的.它具有很多独有的特性,合适的JIT编译器根据不同的目标机器把IL编译成目标代码.最终生成的目标代码在托管环境下执行(CLR),CLR负责对内存进行分配和回收.控制目标代码的执行.最经常提到的托管的优点:无用存储单元回收,保证内存类型的安全性.
2、可以支持多种语言,一种语言要成为.NET语言,必须要遵守.net 公用语言运行时的标准。在.NET里面,代码需要遵守微软中间语言(Microsoft Intermediate Lanaguage),称作托管代码(Managed Code), 托管代码是由CLR(common language runtime,公共语言运行库) (而不是直接由OS)执行的代码, 所以在编译成中间语言以后,语言就不是关卡了, 一段代码可以调用或者使用另一种语言的功能。
编码语言(c#,vb.net,c++等) 编码后,由vs负责把它编译为中间代码(MSIL),存放在装配件中,而后由JIT编译器把中间代码翻译为目标机器可读的目标代码.装配件是有中间语言编写的,主要包括.exe,.dll等文件,以及描述散拍这些文件信息的元数据.装配件是完全自我描述的,描述信息记录在元嫌掘陆数据中,这样关于代码的信息就不用写入注册表中,对付部署是芹顷大有好处的.如:以前的编程语言,写出的类库(dll)都要在注册表中相信记录其信息(版本等),这样程序运行时候,系统才能根据注册表中信息找到相应的DLL.
而有了装配件的概念后,这个动作就不需要了.这里涉及到DLL搜索顺序:GAC---CONFIG---可执行文件所在目录. 中间代码(IL)是独立于OS,CPU,机器的.它具有很多独有的特性,合适的JIT编译器根据不同的目标机器把IL编译成目标代码.最终生成的目标代码在托管环境下执行(CLR),CLR负责对内存进行分配和回收.控制目标代码的执行.最经常提到的托管的优点:无用存储单元回收,保证内存类型的安全性.
2、可以支持多种语言,一种语言要成为.NET语言,必须要遵守.net 公用语言运行时的标准。在.NET里面,代码需要遵守微软中间语言(Microsoft Intermediate Lanaguage),称作托管代码(Managed Code), 托管代码是由CLR(common language runtime,公共语言运行库) (而不是直接由OS)执行的代码, 所以在编译成中间语言以后,语言就不是关卡了, 一段代码可以调用或者使用另一种语言的功能。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询