Domanda

Voglio sapere qual è esattamente la differenza tra l'amplificatore CLR &; CLI? Da qualunque cosa abbia letto finora, sembra indicare che CLI è un sottoinsieme di CLR. Ma non è obbligatorio tutto nel CLR? Cosa può essere esattamente escluso da CLR per creare una CLI?

È stato utile?

Soluzione

Il CLR è l'implementazione di Microsoft del standard CLI .

Altri suggerimenti

CLR è l'ambiente di esecuzione in cui un'applicazione .NET è ospitata / eseguita in modo sicuro.

Puoi vederlo come il sistema operativo privato di .NET che si avvia e carica poco prima dell'avvio di un'applicazione .NET.

Il CLR si occupa di alcuni requisiti essenziali di qualsiasi applicazione .NET che altrimenti richiederebbe la scrittura di molto codice deliberato per l'implementazione; requisiti di natura olistica ed essenziali per qualsiasi tipo di applicazione per funzionare in modo buono, efficiente e sicuro [ad es. Gestire l'allocazione della memoria e rilasciarla quando non è necessaria, evitare puntatori penzolanti, evitare errori di cast di tipo ecc

L'interfaccia della riga di comando è invece una specifica / un insieme di linee guida che spiega come implementare un ambiente di esecuzione dell'applicazione e la natura del codice dell'applicazione generato che consente di utilizzare più linguaggi di alto livello su piattaforme diverse senza essere riscritto per architetture specifiche.

CLI è sviluppato da Microsoft e standardizzato da ISO ed ECMA.

Il CLR è un'implementazione pratica della sezione VES [Virtual Execution System] della CLI e costituisce uno dei componenti principali della piattaforma MS.NET

Nella lingua di un laico, CLI è una ricetta mentre CLR è la cucina :-)

Il CLR (Common Language Runtime) è l'implementazione di Microsoft del VES (Virtual Execution System). Il VES insieme al CTS (Common Type System), al CLS (Common Language Specification) e alla specifica dei metadati fanno tutti parte della CLI (Common Language Infrastructure).

VES è una specifica di macchina virtuale standardizzata che deve essere implementata per caricare ed eseguire moduli CIL (Common Intermediate Language) (dll ed exe). Un'implementazione VES fornisce anche servizi di runtime come garbage collection e sicurezza.

ECMA C # e Common Language Infrastructure Standards

CLR è l'ambiente di esecuzione .net in cui vengono eseguiti tutti i tipi di applicazioni .net. Ad esempio, quando si scrive il codice con C # o un'altra lingua dallo stack NET del punto, il compilatore compila e lo converte in modulo gestito. Un modulo gestito è IL (linguaggio intermedio) e metadati. Soprattutto, il punto importante da ricordare è che ogni volta che si compila il codice sorgente, il compilatore lo traduce in modulo gestito. Per chiarire, questo non è un codice macchina che verrà eseguito dal processore. In realtà, IL è un linguaggio intermedio vicino al linguaggio assembly. Allo stesso modo, è anche famoso come linguaggio macchina orientato agli oggetti.

Controlla questo articolo per una spiegazione più dettagliata:

http://alevryustemov.com/programming/common-language-runtime/

CLR è l'ambiente completo in cui CLI, CTS, CLS lavora in integrazione e include anche garbage collection, gestione della memoria, sicurezza, linguaggio immediato per codice nativo ... CLI è una specifica per il formato del codice eseguibile e il runtime ambiente in grado di eseguire quel codice.

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