Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    9

    codice intermedio: MSIL e java bytecode

    Parto scusandomi con i moderatori se non ho azzeccato proprio la sezione giusta

    Che differenza c'è fra Msil e java bytecode? Hanno anche qualcosa in comune?

    Entrambi fanno uso dello stack, giusto?


  2. #2
    Sono entrambi codice intermedio derivante dalla pseudocompilazione di sorgenti scritti in linguaggi di alto livello (nel caso del bytecode in Java, nel caso di MSIL in uno dei vari linguaggi .NET); contiene una gran quantità di metadati e per essere eseguito richiede una virtual machine che lo JIT-compila in codice nativo al momento dell'esecuzione.
    Ovviamente entrambi fanno uso dello stack.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    9
    Originariamente inviato da MItaly
    Sono entrambi codice intermedio derivante dalla pseudocompilazione di sorgenti scritti in linguaggi di alto livello (nel caso del bytecode in Java, nel caso di MSIL in uno dei vari linguaggi .NET); contiene una gran quantità di metadati e per essere eseguito richiede una virtual machine che lo JIT-compila in codice nativo al momento dell'esecuzione.
    Ovviamente entrambi fanno uso dello stack.
    Quindi anche MSIL necessita di una virtual machine?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    9
    In rete ho trovato questo:


    "Java:
    Java code is compiled into Byte Code which is stored in a ".class" file
    until runtime. At runtime, the Java Virtual Machine interprets the Byte Code
    and then executes machine code accordingly. At no point is the Java Byte
    Code compiled directly into machine code.

    ..NET:
    Code written in any .NET language (C#, VB.NET, C++.NET, etc.) is compiled
    into MSIL, which is stored in an assembly file. At runtime, the Common
    Language Runtime compiles that MSIL directly into machine code, which is
    then executed. Depending on the compilation settings, the JIT compilation
    results (MSIL -> machine code) may be cached for future use. It is also
    possible to use the NGen.exe tool to manually compile MSIL directly into
    machine code, and distribute an application like that."

    che in pratica si avvicina a quanto è stato detto.. :master:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.