2010-12-07 8 views
2

Les gars, j'ai travaillé sur un projet et un de mes professeurs veut que je vous explique comment fonctionne .net Framework. J'ai écrit que nous pouvons utiliser le code framework .net pour l'utiliser dans d'autres langues et je dois expliquer pourquoi. Pouvez-vous m'aider?Comment fonctionne le framework .net

+0

Il existe de nombreuses documentations à ce sujet sur le Web, essayez: http://msdn.microsoft.com/pt-br/netframework/default.aspx – madeinstefano

+0

Voici le type de devoirs dont vous avez vraiment besoin pour rechercher et comprendre toi même. Certes, il y a un point à cette affectation autre que "demander à quelqu'un qui sait déjà". –

Répondre

6

Les langages .NET (C#, VB.net, beaucoup d'autres) sont compilés en .NET bytecode, qui est ensuite interprété par Common Language Runtime (CLR), qui est une machine virtuelle. C'est la réponse courte.

Il y a une belle image sur Wikipedia article about CLR qui illustre comment le code source est transformé en code natif. .NET bytecode contient des informations sur les classes, les méthodes et d'autres informations pouvant être utilisées par d'autres langages basés sur .NET.

Un utilitaire utile pour tester ceci est le .NET reflector, qui peut être utilisé pour désosser le code .NET et le transformer en code C# ou Visual Basic.

Pour plus de détails, recherchez sur le net CLR et vous trouverez beaucoup de ressources.

+0

Et comment pouvez-vous l'utiliser dans d'autres langues? –

+1

@ user371612: "Les autres langages" nécessitent un compilateur capable de les interpréter en code CIL, ce qui est compilé/exécuté par le runtime .NET. – David

+0

Bonne réponse! Merci :) –

0

je dois expliquer pourquoi

L'explication est simple parce que quelle que soit la langue de codage, il compile jusqu'à .net pseudocode qui peut être exécuté par le cadre . Quel que soit le langage de codage d'origine, le pseudocode compilé semble identique pour la même opération.

Ceci est sur-simplifié, bien sûr, mais c'est un point de départ et vous pouvez faire quelques recherches rapides pour remplir les détails.

+5

"pseudocode" peut être le mauvais choix de mots ici ... – David

+0

Ne peut pas discuter avec cela - n'était pas la meilleure sélection de mots. – RogerG

2

La sortie de tout compilateur, qu'il s'agisse d'un compilateur C#, VB ou Delphi, est créée dans le même bytecode AKA de langue intermédiaire (IL). Pour cette raison, les sorties de n'importe lequel d'entre eux peuvent être combinées (liées) pour être exécutées. Cela permet également d'exécuter ce code sur tout processeur disposant du compilateur JIT (JIT - compilation juste à temps de bytecode dans IL dans le matériel spécifique pour une architecture de processeur donnée)

1

Le code de compilation/interprétation consiste à transformer le code , généralement d'une forme lisible par l'homme à une forme plus efficace qui est plus proche de la langue du processeur.

Microsoft a créé une machine virtuelle appelée Common Language Runtime. Vous pourriez penser à la CLR comme un processeur plus flexible créé en tant que logiciel. Le CLR introduit également des contraintes qui aident à assurer la comparabilité avec les systèmes d'exploitation de Microsoft.

Tout langage de programmation conçu pour compiler en bytecode que le CLR comprend peut être utilisé comme langage .NET. Le CLR ne se soucie pas de savoir comment le bytecode est arrivé, vous pouvez même créer votre propre langage pour produire du bytecode.