Trong trang này tôi thường thấy mọi người trả lời câu hỏi với câu trả lời như "nó hoạt động như thế bởi vì trình biên dịch thay thế [điều] bằng [điều khác]", vậy câu hỏi của tôi là, làm sao mọi người biết/học điều này? Tôi có thể học những điều này ở đâu?Tôi có thể đọc về trình biên dịch C# ở đâu?
Trả lời
Nguồn dứt khoát nhất về cách trình biên dịch C# giải thích mã là thông số ngôn ngữ C#.
Ngoài ra các blog sau đây cung cấp rất nhiều cái nhìn sâu sắc hơn vào ngôn ngữ C#. đọc bắt buộc đối với bất cứ ai muốn trở thành một chuyên gia trong các ngôn ngữ
Một kỹ thuật là để biên dịch mã của bạn, và sau đó dịch ngược nó sử dụng các công cụ như ILSpy. Sử dụng một công cụ như vậy, bạn có thể xem IL thô và xem cho chính mình những gì trình biên dịch tạo ra.
Ngoài việc kiểm tra ngôn ngữ trung gian và đọc đặc tả ngôn ngữ, vui lòng cho phép tôi thêm "CLR qua C#" của Jeffrey Richter. Microsoft Press Library of Congress Số kiểm soát: 2009943026. Tài liệu tham khảo này là tuyệt vời, và đi vào chi tiết đầy đủ về những gì đang xảy ra dưới bìa.
Cuốn sách của Niklaus Wirth Compiler Construction (PDF) là phần giới thiệu về lý thuyết và kỹ thuật xây dựng trình biên dịch. Nó cung cấp cho bạn một ý tưởng chung về trình biên dịch là gì và nó hoạt động như thế nào.
Ngoài các câu trả lời khác, tôi muốn đề cập rằng LINQPad là công cụ yêu thích của tôi để kiểm tra IL cho đoạn trích nhanh.
Bạn có thể nhập một đoạn mã và xem ngay IL.
Đây là công cụ dễ sử dụng nhất và bạn có thể thực hiện thay đổi và xem kết quả ngay lập tức.
- 1. Tôi có thể tìm trình biên dịch C tuân thủ tiêu chuẩn cho Windows ở đâu?
- 2. Tôi có thể tìm đầu đọc Lisp ở đâu?
- 3. Tôi có thể tìm thông dịch viên/biên dịch ngôn ngữ Dart ở đâu?
- 4. Tôi có thể tìm ngữ pháp C# 3.0 ở đâu?
- 5. Trình biên dịch dòng lệnh .NET ở đâu?
- 6. Mã nguồn cho trình biên dịch java ở đâu?
- 7. Trình biên dịch/trình biên dịch/trình biên dịch C++
- 8. Trình biên dịch C nằm trên đĩa cho Visual C++ 2008 Express ở đâu?
- 9. Tôi có thể tìm hiểu thêm về chức năng dịch thuật của PyPy ở đâu?
- 10. Tôi có thể tìm GACUtil ở đâu?
- 11. Tôi có thể tìm tài liệu về sự liên kết bộ nhớ C++ trên các nền tảng/trình biên dịch khác nhau ở đâu?
- 12. Tôi có thể đọc thông tin về toán tử "->" ở đâu?
- 13. Tôi có thể tìm tài liệu về Hpricot ở đâu?
- 14. Tôi có thể tìm hiểu về chuỗi JNDI ở đâu?
- 15. Tôi có thể tìm hiểu thêm về trình tối ưu hóa Perl ở đâu và ở đâu?
- 16. Tôi có thể tải trình điều khiển PHP MongoDB PHP cho PHP 5.4 biên dịch sẵn cho Windows ở đâu?
- 17. Tôi có thể tìm hướng dẫn tốt về cách viết Bộ sưu tập C ở đâu?
- 18. Trình biên dịch biên dịch trong C#
- 19. Tôi có thể đọc C++ 2011 FDIS ở bất kỳ đâu không?
- 20. Trình biên dịch lưu trữ các phương thức cho các lớp C++ ở đâu?
- 21. Tôi có thể lấy tiện ích cabarc ở đâu?
- 22. Tôi có thể tìm thư viện DNS C++ ở đâu?
- 23. Tôi có thể tìm mã nguồn C++ ở đâu?
- 24. Tôi có thể lấy libgcc_s_dw2-1.dll ở đâu?
- 25. Có trình biên dịch là dịch vụ cho C++ không?
- 26. Tôi có thể tìm trình chuyển đổi Java sang C# ở đâu?
- 27. Trình thông dịch Ruby nằm ở đâu?
- 28. Tôi có thể tìm mã nguồn Flex ở đâu?
- 29. tôi có thể lấy mã nhị phân GCC ở đâu?
- 30. Tôi có thể nhận Mdbg ở đâu?
Bạn cần biết cái bắt tay bí mật. – ChaosPandion
http://www.dotnetperls.com/compiler –
[Đặc tả ngôn ngữ C#] (http://msdn.microsoft.com/en-us/library/ms228593.aspx) và [Trình phản xạ] (http: // stackoverflow. com/questions/2425973/open-source-alternatives-to-reflector) –