Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Mã được quản lý (Managed) và không được quản lý (Unmanaged) trong C#

Mã không được quản lý (Unmanaged Code)

  • Các ứng dụng không nằm dưới sự kiểm soát của CLR là unmanaged.

  • Mã unsafe hoặc unmanaged là khối mã sử dụng biến con trỏ.

  • Modifier unsafe cho phép sử dụng con trỏ trong mã unmanaged.

Hãy xem ví dụ:

Ví dụ

static unsafe void Main(string[] args) { 
    int var = 20; 
    int* p = &var; 
    Console.WriteLine("Data is: {0} ", var); 
    Console.WriteLine("Address is: {0}", (int)p); 
    Console.ReadKey(); 
}

Mã được quản lý (Managed Code)

Mã được quản lý là mã có thực thi được quản lý bởi Common Language Runtime (CLR). Nó lấy mã được quản lý và biên dịch thành mã máy. Sau đó, mã được thực thi. Runtime (CLR) cung cấp quản lý bộ nhớ tự động, an toàn kiểu, v.v.

Mã được quản lý được viết bằng các ngôn ngữ bậc cao chạy trên .NET. Có thể là C#, F#, v.v. Mã được biên dịch bằng bất kỳ trình biên dịch nào của các ngôn ngữ này, mã máy không được tạo ra. Tuy nhiên, bạn sẽ nhận được mã ngôn ngữ trung gian (IL), được biên dịch và thực thi bởi runtime.

Mã C/C++, được gọi là "unmanaged code", không có đặc quyền đó. Chương trình ở dạng nhị phân được tải bởi hệ điều hành vào bộ nhớ. Phần còn lại, lập trình viên phải tự lo.