CLR LÀ GÌ

  -  
Common Language Runtime (CLR): Bộ thực thi ngôn ngữ chung..Net Framework Class Library

Bộ biên dịch CLR: là 1 thành phần trung tâm của .Net framework với nhiệm vụ thực hiện biên dịch các chương trình. cái nào khủng hay nhanh hay không là đều dựa vào cái trình biên dịch của nó này — cái này bên Java là JVM ( Java Vitual Machine) nhé.Bạn đang xem: Clr là gì




Bạn đang xem: Clr là gì

*

+ Các dịch vụ mà CLR cung cấp cho ta như sau:

– Nạp và thực thi chương trình– Phân chia vùng nhớ của ứng dụng– Xác minh tính an toàn của kiểu dữ liệu– Dịch mã IL thành mà máy thực thi được– Cung cấp metadata– Quản lý bộ nhớ tự động (automatic garbage collection)– Thực thi bảo mật– Quản lý lỗi và ngoại lệ– Hỗ trợ các công việc như debug hoặc profile ứng dụng– Liên kết với các hệ thống khác

.NET Assemblies


*



Xem thêm: D/O Là Gì? Phí Do Là Gì ? Bạn Biết Gì Về D/O Fee? Những Thông Tin Bạn Cần Biết

Sau khi Project .NET được biên dịch, cho dù bạn dùng ngôn ngữ nào thì ngôn ngữ đó đều được đưa về ngôn ngữ CIL. CIL nằm trong khốiAssembly, khối này bao gồm các thành phần sau:

A Windows file headerA CLR file headerCIL codeType metadataAn assembly manifestOptional embedded resources

quangcao

Khái niệm thì phức tạp, để đơn giản có thể hiểu một ứng dụng .NET có thể có nhiều assembly và assembly có thể là *.DLL hoặc *.EXE. Assembly có hai kiểu:

Private Assembly: DLL và EXE chỉ được thực thi bởi một ứng dụngPublic/Shared Assembly: DLL có thể được sử dụng bởi nhiều ứng dụng cùng lúc. Loại này thường được lưu trữ tại“C:\Windows\Assembly”Satellite Assembly: Chứa các đối tượng tĩnh và không thể thực thi ví dụ như ảnh.

Nói một cách khác nó biên dịch assembly thành mã máy.

Quá trình biên dịch và chạy chương trình trên nền .NET


*

*



Xem thêm: Từ Điển Tiếng Việt " Tư Liệu Là Gì ? Từ Điển Tiếng Việt Tư Liệu Tiêu Dùng Là Gì

*

quangcao

CLR là gần giống như 1 assemply nhưng không phải là assemply *

.NET framework hỗ trợ nhiều ngôn ngữ và đều dùng một thành phần gọi là hệ thống kiểu chung CTS trong CLR. CTS hỗ trợ một loạt kiểu và toán tử có thể thấy trong hầu hết các ngôn ngữ lập trình nên gọi một ngôn ngữ từ một ngôn ngữ khác sẽ không yêu cầu chuyển kiểu. Dẫn đến chúng ta có thể xây dựng các ứng dụng .NET sử dụng cả ngôn ngữVB.NETlẫn C#, C++…