zoukankan      html  css  js  c++  java
  • 解释一下.net平台的语言无关性和语言继承性

    谁能解释一下.net平台的语言无关性和语言继承性
    分享| 2015-06-19 13:48 挀儿 | 浏览 59 次
    编程语言
    2015-06-23 15:40 #2016年高质量新标准全面升级!# 提问者采纳

    .net 平台支持很多语言,常见有:C#、VB、C++、F#、J#(Java)等
    但是实际上经过编译之后,统一生成了中间语言“IL”,类似汇编,就因为这样,才可以在以上所有的语言中相互引用dll,因为实际是都是一种语言“IL”
    在执行的时候,实际上.net会把IL先给编译成机器码,也就是二进制,这才是真正的可执行代码。

    以上纯手打,以下是网上摘录的,属于纯理论:
    .net framework的核心是其运行库的执行环境,叫做公共语言运行库,简称CLR,将在CLR的控制下运行的代码称为托管代码,在CLR执行代码之前,需要编译,分为2个阶段:
    1: 把源代码编译为Microsoft中间语言(MSIL);
    2: CLR把MSIL编译为平台专用的机器代码;
    也就是说,不管你用什么语言来编写源代码,它都会通过它自己的编译器编译成MISL,从而转换成机器码,都能被机器识别!语言的集成性我想主要是说它的公共语言规范(CLS)公共语言规范和通用类型系统一起确保了语言的相互操作性,CLS是一个最低标准集,所有面向.net的编译器都必须支持它.每个语言都符合这个规范,从而满足了语言的互相调用和互操作

     

    CLR common language runtime 就是运行时相当于一个运行环境(相当于JVM)
    IL intermidiate language中间语言,C#先编译成中间语言再在CLR上面执行
  • 相关阅读:
    选择本地照片之后即显示在Img中(客户体验)
    解决JQuery.ajax.post乱码问题
    浅析MVC模式与三层架构的区别01
    照片上传(缩略图实现)
    基于Netty的聊天系统(三)协议定制----消息篇
    基于Netty的聊天系统(二)协议定制----登录篇
    基于Netty的聊天系统(一)通讯原理篇
    Centos6.5下配置SVN服务器
    FreeMarker-TemplateLoader
    移动UI自动化-Page Objects Pattern
  • 原文地址:https://www.cnblogs.com/liyancheng/p/5400773.html
Copyright © 2011-2022 走看看