Domanda

Per esempio, quando guardando il sito web profiler GlowCode si dice:

"GlowCode 6.2 e il profilo x64 nativo, gestite e misto C ++, C #, NET"

Che cosa significano?

È stato utile?

Soluzione

codice nativo è il codice la cui memoria non è "gestito", come in, la memoria non viene liberato per voi (C ++' cancellare e C di libero, per esempio), nessun conteggio di riferimento, non garbage collection. Il codice gestito, avete indovinato, è il codice la cui memoria è gratuito e assegnato per voi, raccolta dei rifiuti e altre chicche.

codice misto è quando sei riuscito codice che chiama su un eventuale strato non gestito. Normalmente, quando si dispone di una DLL non gestita puro C ++ e si chiama da .NET utilizzando P / Invoke.

Altri suggerimenti

codice nativo viene compilato a lavorare direttamente con il sistema operativo. Codice gestito tuttavia, è precompilato (bytecode Java in gergo), ma viene poi elaborato dal compilatore Just In Time in codice nativo in fase di esecuzione. Il codice gestito ha l'effetto collaterale interessante di avere il potenziale di esecuzione su diversi sistemi operativi, perché il codice macchina non si crea finché il VM lo utilizza. In questo modo, si è in grado di eseguire applicazioni .NET su Windows e anche eseguirli su Linux o Mac che hanno il runtime Mono installato. La portabilità non è così pulito attualmente come Java è (a causa dell'architettura naturalmente chiuso di Microsoft), ma il concetto rimane.

Se si esegue un'applicazione non gestito, il codice è stato compilato a correre per il sistema operativo / hardware designato. Qualsiasi portabilità ad un altro set di OS / istruzioni viene persa e deve essere ricompilato per l'esecuzione.

codice nativo è scritto in linguaggio macchina "nativo" del computer che è in esecuzione su e viene eseguito direttamente dal processore.

Il codice gestito è scritto in un linguaggio speciale che richiede un altro programma per l'esecuzione (vale a dire gestire) esso. Questo altro programma è spesso chiamato un interprete come si interpreta il linguaggio speciale.

C e C ++ programmi sono nativi.

Java e C # (e tutti i linguaggi .NET per quella materia) sono gestite.

Managed C ++ è una forma speciale di C ++ che viene eseguito in l'interprete NET.

Un programma misto è un programma che utilizza il codice che è sia nativo e gestito.

Il codice che viene eseguito sotto il controllo del Common Language Runtime (CLR) è noto come codice gestito. Codice che non viene eseguito sotto il CLR è conosciuto come codice nativo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top