Computer >> Máy Tính >  >> Lập trình >> C#

Mã được quản lý so với mã không được quản lý trong C #

Mã không được quản lý

  • Các ứng dụng không nằm dưới sự kiểm soát của CLR sẽ không được quản lý

  • Mã không an toàn hoặc mã không được quản lý là một khối mã sử dụng biến con trỏ.

  • Công cụ sửa đổi không an toàn cho phép sử dụng con trỏ trong mã không được quản lý.

Hãy để chúng tôi 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ý

Mã được quản lý là mã mà việc thực thi được quản lý bởi Common Language Runtime. Nó lấy mã được quản lý và biên dịch nó thành mã máy. Sau đó, mã được thực thi. Thời gian chạy ở đây tức là 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 ngôn ngữ cấp cao chạy trên .NET. Đây có thể là C #, F #, v.v. Mã được biên dịch bằng bất kỳ ngôn ngữ nào trong số này bằng trình biên dịch của chúng, mã máy không được tạo ra. Tuy nhiên, bạn sẽ nhận được mã Ngôn ngữ trung gian, được biên dịch và thực thi trong thời gian chạy

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