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上面执行
  • 相关阅读:
    document.compatMode的CSS1compat
    js自运行函数
    Sublime Text 3 入门(插件控制台安装)
    javascript 面向对象技术
    jQuery ui 中文日历
    js给数字加三位一逗号间隔的两种方法(面试题)
    android eclipse集成环境
    中科红旗倒下,谁来挑战windows
    在网站制作中随时可用的10个 HTML5 代码片段
    IE6/IE7中li底部4px的Bug
  • 原文地址:https://www.cnblogs.com/liyancheng/p/5400773.html
Copyright © 2011-2022 走看看