Question

Je suis un expert en programmation C # 3 / .NET 3.5 qui souhaite commencer à faire du code d’exécution à l’aide de System.Reflection.Emit.DynamicMethod. J'aimerais passer au niveau supérieur en devenant intimement familier avec IL.

Des pointeurs (jeu de mots)?

Était-ce utile?

La solution

La meilleure façon de l’apprendre est d’écrire quelque chose que vous comprenez, puis de regarder le livre créé. En outre, selon ce que vous faites, vous pouvez utiliser des arbres d'expression au lieu d'émettre des IL, puis lorsque vous compilez ces arbres, ces types intelligents de Microsoft créent l'IL pour vous.

Autres conseils

En plus de la réponse de Darren, je suggérerais de choisir ou d’inventer un langage de jouets et d’écrire un compilateur simple. Choisissez quelque chose qui nécessite peu d'analyse, comme BF ou un langage basé sur une pile, et vous constaterez que l'écriture d'un compilateur est en réalité plus simple qu'il n'y paraît.

.NET Reflector est idéal pour examiner l'IL produit par C #. /VB.NET.

C'est un formidable outil d'apprentissage.

La spécification ECMA 335 peut être téléchargée gratuitement ici: http://www.ecma-international.org/publications/standards/Ecma -335.htm

La partition III est la plus pertinente pour traiter MSIL, mais je recommanderais vivement la partition I aussi à tout développeur .NET, car elle consolidera considérablement la compréhension de la plate-forme.

Assembleur expert .NET 2.0 IL. Bien que ce livre puisse être un peu daté maintenant, c'était toujours un bon aperçu pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top