Na tej stronie często widzę ludzi odpowiadających na pytania z takimi odpowiedziami jak "to działa tak, ponieważ kompilator zamienia [rzecz] na [inne rzeczy]", więc moje pytanie brzmi: jak ludzie to wiedzą/uczą się? Gdzie mogę się tego nauczyć?Gdzie mogę przeczytać, co robi kompilator C#?
Odpowiedz
Najbardziej definitywnym źródłem interpretacji kodu kompilatora C# jest specyfikacja języka C#.
także następujące blogi dostarczyć dużo więcej wgląd w języku C#. Obowiązkowa lektura dla każdego, kto chce stać się ekspertem w języku
Jedną z technik jest skompilować kod, a następnie dekompilacji za pomocą narzędzi takich jak ILSpy. Za pomocą takiego narzędzia można wyświetlić surowe IL i przekonać się, co produkuje kompilator.
Oprócz sprawdzenia języka pośredniego i zapoznania się ze specyfikacją językową, proszę pozwolić mi dodać "CLR przez C#" autorstwa Jeffrey Richter. Numer kontrolny kongresu Microsoft Press Library: 2009943026. Ta wzmianka jest niesamowita i zawiera szczegółowe informacje na temat tego, co dzieje się pod kołdrą.
Książka Niklausa Wirtha Compiler Construction (PDF) jest wprowadzeniem do teorii i technik konstruowania kompilatorów. Daje ogólne pojęcie o tym, czym jest kompilator i co robi.
Oprócz innych odpowiedzi, chciałbym wspomnieć, że LINQPad jest moim ulubionym narzędziem do inspekcji IL dla szybkich fragmentów.
Możesz wpisać fragment kodu i natychmiast zobaczyć IL.
Jest to zdecydowanie najłatwiejsze w użyciu narzędzie, które można natychmiast wprowadzać i wyświetlać.
- 1. Gdzie mogę przeczytać na operatorze "->" haskell?
- 2. Co dokładnie robi dyrektywa użytkowa?
- 3. Co robi mój kompilator? (optymalizacja memcpy)
- 4. Gdzie mogę przeczytać wyjście konsoli w Visual Studio 2015
- 5. C++ - co robi [=]?
- 6. C# co robi operator ==?
- 7. Gdzie mogę przeczytać więcej o modyfikatorach dostępu klasy D?
- 8. Gdzie mogę przeczytać jasne wyjaśnienie POE (Perl Object Environment)?
- 9. Co robi symbol "@" w Powershell?
- 10. Co robi deklaracja "CALLBACK" w C?
- 11. Co robi atrybut C# CoClass?
- 12. co robi int() w C++?
- 13. Co robi? w C oznacza?
- 14. Co robi słowo kluczowe "var"?
- 15. Co robi * w CSS?
- 16. co robi program obsługi C/C++ SIGFPE?
- 17. Jak mogę przeczytać definicję ex_intro?
- 18. dodanie ciągów w języku C#, jak robi to kompilator?
- 19. Praktyki kodowania C dla wydajności lub rozmiaru kodu - poza tym, co kompilator robi
- 20. Co robi Html.HiddenFor?
- 21. Co robi operator/= w języku C#?
- 22. Co robi "* (wskaźnik + liczba całkowita)" w C++?
- 23. Co robi -> oznacza w celu C
- 24. Co robi @class w Objective-C?
- 25. Co dokładnie robi instrukcja return w C#?
- 26. Co robi cordova?
- 27. Co to robi?
- 28. Gdzie jest kompilator wiersza poleceń .NET?
- 29. Gdzie mogę przeczytać C99 oficjalny język standardowy podręcznik/odniesienie/specyfikacja online?
- 30. co robi express.favicon() do
Musisz znać tajny uścisk dłoni. – ChaosPandion
http://www.dotnetperls.com/compiler –
[Specyfikacja języka C#] (http://msdn.microsoft.com/en-us/library/ms228593.aspx) i [Reflektory] (http: // stackoverflow. com/questions/2425973/open-source-alternatives-to-reflector) –