Где я могу прочитать о том, что делает компилятор C #? - PullRequest
7 голосов
/ 14 декабря 2011

На этом сайте я обычно вижу, что люди отвечают на вопросы такими ответами, как «это работает так, потому что компилятор заменяет [вещь] на [другую вещь]», поэтому мой вопрос в том, как люди узнают / изучают это?Где я могу научиться этим вещам?

Ответы [ 5 ]

13 голосов
/ 14 декабря 2011

Наиболее точным источником интерпретации кода компилятором C # является спецификация языка C #.

Кроме того, следующие блоги предоставляют гораздо больше информации о языке C #.Обязательное чтение для всех, кто хочет стать экспертом по языку

2 голосов
/ 14 декабря 2011

Один из методов - это скомпилировать код, а затем декомпилировать его с помощью таких инструментов, как ILSpy .Используя такой инструмент, вы можете просмотреть необработанный IL и посмотреть, что производит компилятор.

1 голос
/ 14 декабря 2011

В дополнение к другим ответам я хотел бы отметить, что LINQPad - мой любимый инструмент для проверки IL на наличие быстрых фрагментов.

Вы можете набрать фрагмент кода и сразу увидеть IL.
Это, безусловно, самый простой в использовании инструмент, и вы можете вносить изменения и мгновенно видеть результаты.

0 голосов
/ 14 декабря 2011

Книга Никлауса Вирта Построение компилятора (PDF) - введение в теорию и методы построения компилятора. Это дает вам общее представление о том, что такое компилятор и что он делает.

0 голосов
/ 14 декабря 2011

В дополнение к проверке Промежуточного языка и прочтению спецификации языка, позвольте мне добавить « CLR via C # » Джеффри Рихтера.Контрольный номер Библиотеки Конгресса США для прессы: 2009943026. Эта ссылка удивительна и подробно описывает происходящее под обложками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...