.net是编译执行,还是解释执行?

解决方案 »

  1.   

    asp.net是编译执行,asp是解释执行
      

  2.   

    源代码 -->  中间代码(MSIL) --> 机器码
      

  3.   

    先编译成IL,然后再JIT编译执行……
      

  4.   

    .NET都被编译程MSIL(微软中间语言),在执行的时候再解析成机器语言运行。MSDN里面有详细的介绍,如果感兴趣可以用ildasm.exe看看编译之后的文件。
      

  5.   

    www.source520.com     免费免注册80G源码书籍下载
      

  6.   

    c#->pe(元数据)->IL->01010101
      

  7.   

    C#(包括其它.NET语言)都是分两个步骤的,先编译再解释:编译:编好程序选择生成时,从 C# 源码编译到中间语言(IL),这个中间语言是 .NET 自已的一种语言格式,虽然它也是 EXE,但它并非直接可以执行的二进制代码,而是一种比源码更为紧凑的程序代码。解释:软件执行的时候,系统会自动加载 .NET Framework 对中间语言形式的 EXE 进行解释运行。
      

  8.   

    dot net 的编译勉强算是编译,但不是传统意义上的编译。应该说是个更高级的解释过程。
    它的过程分两步,首先是源代码到中间代码的“编译”,这一步严格说不是编译,只是将源代码翻译成了中间代码,但是形式上像是传统的编译-生成了可执行文件。但是这个可执行文件并不是真正的可执行文件,需要dot net框架在你运行它的时候再及时翻译为CPU机指令,它的改进在于这个及时编译比传统的解释方式性能更好,因为程序中的指令不是每次运行都解释,而是在程序首次运行时一次性编译(解释),只要程序没有退出,解释的过程就不再发生。
      

  9.   

    而个人也支持它是解释的,因为它可以被完全反编译成源文件(一字不差),而一般本地化的如VC一般都是反编译成汇编级,而java这类半解释型号的才能被反编译到这种程度,所以说它是半编译的解释型的。
      

  10.   

    编译,这是毫无疑问的。
    .net中根本不存在解释器,怎么会是解释执行?
      

  11.   

    dot net 的编译勉强算是编译,但不是传统意义上的编译。应该说是个更高级的解释过程。
    它的过程分两步,首先是源代码到中间代码的“编译”,这一步严格说不是编译,只是将源代码翻译成了中间代码,但是形式上像是传统的编译-生成了可执行文件。但是这个可执行文件并不是真正的可执行文件,需要dot net框架在你运行它的时候再及时翻译为CPU机指令,它的改进在于这个及时编译比传统的解释方式性能更好,因为程序中的指令不是每次运行都解释,而是在程序首次运行时一次性编译(解释),只要程序没有退出,解释的过程就不再发生。
    从一种语言翻译到另一种语言就叫做编译。
    根据代码驱动某个东西执行某些操作才是解释。
      

  12.   

    ot net 的编译勉强算是编译,但不是传统意义上的编译。应该说是个更高级的解释过程。
    它的过程分两步,首先是源代码到中间代码的“编译”,这一步严格说不是编译,只是将源代码翻译成了中间代码,但是形式上像是传统的编译-生成了可执行文件。但是这个可执行文件并不是真正的可执行文件,需要 dot net框架在你运行它的时候再及时翻译为CPU机指令,它的改进在于这个及时编译比传统的解释方式性能更好,因为程序中的指令不是每次运行都解释,而是在程序首次运行时一次性编译(解释),只要程序没有退出,解释的过程就不再发生。