CLR et CLI-Quelle est la différence?
je veux savoir quelle est exactement la différence entre CLR et CLI? D'après ce que j'ai lu jusqu'à présent, il semble indiquer que CLI est un sous-ensemble de CLR. Mais tout ce qui est dans le CLR n'est-il pas obligatoire? Qu'est-ce qui peut être laissé de côté pour créer un CLI?
5 réponses
CLR est l'environnement d'exécution dans lequel une application .NET est hébergée/exécutée en toute sécurité.
vous pouvez le voir comme le système d'exploitation privé de .NET qui initie et charge juste avant qu'une application .NET ne commence.
le CLR s'occupe de certaines exigences essentielles de toute application .NET qui, autrement, nécessiterait beaucoup de code délibéré à écrire pour être mise en œuvre; exigences qui sont de nature holistique et essentielle à tout type d'application pour fonctionner dans une bonne méthode, efficace et sûre [p. ex. Gérer l'attribution de la mémoire et la libérer lorsqu'elle n'est pas nécessaire, éviter les pointeurs pendants, éviter les erreurs de type-moulage, etc. ]
CLI d'autre part est une spécification / ensemble de lignes directrices qui explique comment mettre en œuvre un environnement d'exécution de l'application et la nature du code d'application généré qui permet d'utiliser plusieurs langues de haut niveau sur différentes plates-formes informatiques sans être réécrit pour des architecture.
CLI est développé par Microsoft et standardisé par ISO et ECMA.
le CLR est une implémentation pratique de la section VES [Virtual Execution System (Système D'exécution virtuelle)] de CLI et constitue l'une des composantes centrales de la MS.NET plate-forme
dans le langage d'un profane, CLI est une recette tandis que CLR est la cuisine: -)
le CLR (Common Language Runtime) est L'implémentation par Microsoft du système VES (Virtual Execution System). L'EVS, le CTS (Common Type System), LA CLS (common language specification) et la metadata specification font tous partie de la spécification CLI (Common Language Infrastructure).
le VES est une spécification de machine virtuelle standardisée qui doit être implémentée pour charger et exécuter les modules CIL (Common Intermediate Language) (dll et exe). UNE VES la mise en œuvre fournit également des services d'exécution tels que la collecte des ordures et la sécurité.
ECMA C# et le Langage Commun Normes en matière d'Infrastructure
CLI, Infrastructure Linguistique Commune est la spécification ou les critères développés par Microsoft.
tout langage de programmation conforme aux critères CLI peut accéder à une bibliothèque de classe commune et être compilé dans un langage intermédiaire commun (bytecode). Une fois compilé dans le langage intermédiaire commun, tout programme peut ensuite être compilé dans le code machine compris par le système spécifique sur lequel il est exécuté. Il décrit le code exécutable et l'environnement d'exécution. En termes simples, cela nous permet d'utiliser divers langages de haut niveau sur diverses machines sans réécrire le code.
CLR, Common Language Runtime qui est l'implémentation de CLI par Microsoft.
CLR est le composant machine virtuelle du Framework .NET plus connu sous le nom de runtime et est responsable de l'exécution des programmes .NET. C'est gentil du système d'exploitation pour les programmes .NET qui accomplissent de nombreuses fonctions que le programme a dû être manipulé.
où CIL est le Common Intermediate Language dont se nourrit CLR à la génération suivante de code machine.
Caractéristiques de la CLR:
- Mémoire gestion
- gestion des exceptions
- Code d'accès de sécurité
- gestion des Threads
- Débogage
- Vérification Et Compilation
- Tapez sécurité
- Collecte Des Ordures
CLR est l'environnement complet dans lequel CLI ,CTS,CLS travaille en intégration il inclut également la collecte des ordures,la gestion de la mémoire ,la sécurité,le langage intemediate pour le code natif... CLI est une spécification pour le format de code exécutable, et l'exécution environnement qui peut exécuter ce code.