Domanda

Il titolo degli argomenti è in realtà la mia domanda. E la seconda domanda è: quando uso cosa di questi due?

È stato utile?

Soluzione

Se non specificato, C ++ è C ++ non gestito, compilato in codice macchina. Nel C ++ non gestito è necessario gestire manualmente l'allocazione della memoria.

Managed C ++ è un linguaggio inventato da Microsoft, che viene compilato in bytecode gestito da .NET Framework. Utilizza principalmente la stessa sintassi di C ++ (da cui il nome) ma viene compilato allo stesso modo di C # o VB.NET; sostanzialmente cambia solo la sintassi, ad es. usando "- >" puntare a un membro di un oggetto (invece di '.' in C #), usando '::' per gli spazi dei nomi, ecc.

Il C ++ gestito è stato creato per facilitare la transizione dal C ++ classico a .NET Framework. Non è destinato a essere utilizzato per avviare nuovi progetti (si preferisce C #).

Altri suggerimenti

" C ++ gestito " si riferisce a una lingua inclusa in Visual Studio.NET/VisualStudio.NET 2003. Da allora è stata obsoleto , con l'ultimo .net C ++ che è C ++ / CLI.

Puoi codificare il C ++ nativo in due modi diversi. Il primo è la compilazione diretta del codice macchina con solo il sistema operativo tra l'utente e la piattaforma (hardware). La seconda codifica nativa viene eseguita con MFC (Microsoft Foundation Classes). Questo è lo stesso del primo esempio, tranne per l'uso di MFC.

Il C ++ gestito utilizza il CLR (Common Language Runtime). Il CLR insieme alle librerie di classi del framework .net formano .NET Framework. Questo standard C ++ / CLI gestito utilizza il framework .Net insieme a MSIL (Microsoft Intermediate Language). Questo standard funziona mappando il codice macchina solo quando il programma è in esecuzione mediante un compilatore just in time. Se il tuo codice verrà eseguito su piattaforme hardware diverse, l'uso del codice gestito sarà molto più semplice. Come per tutte le cose, c'è un leggero prezzo da pagare per comodità, poiché il codice nativo verrà eseguito più velocemente.

Penso che dovresti guardare questa domanda .

Managed C ++ significa che l'allocazione, la gestione e la garbage collection della memoria sono gestite dalla macchina virtuale. Mentre in "normale" C ++ dovresti allocare e deallocare memoria.

Utilizzerai il C ++ gestito quando vuoi usare una libreria di classi C ++ nativa dal codice gestito. In questo caso racchiudi le classi non gestite in classi C ++ gestite, quindi le usi in qualsiasi linguaggio CLR.

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