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?
![]()
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?
![]()
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.
Quindi anche MSIL necessita di una virtual machine?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.
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: