Câu hỏi phỏng vấn Net core
Câu hỏi

Sự khác biệt giữa CIL và MSIL (IL) là gì?

Câu trả lời

Sự khác biệt giữa CIL và MSIL (IL) là gì?

CIL (Common Intermediate Language) và MSIL (Microsoft Intermediate Language) cơ bản là cùng một thứ. MSIL là tên gọi ban đầu khi .NET Framework được Microsoft phát triển. Khi .NET và C# được chuẩn hóa, ngôn ngữ trung gian này được đổi tên thành CIL để phản ánh tính chất chuẩn mực và không phụ thuộc vào một công ty cụ thể. Cả hai thuật ngữ này đều chỉ đến ngôn ngữ trung gian mà các ngôn ngữ lập trình cao cấp như C#, VB.NET được biên dịch thành trước khi được thực thi bởi môi trường chạy tương thích với CIL như Common Language Runtime (CLR) của .NET[1][2][3][7][11][12].

CIL là một tập hợp các hướng dẫn nhị phân độc lập với CPU và nền tảng, được định nghĩa trong thông số kỹ thuật Common Language Infrastructure (CLI). Các hướng dẫn CIL được thực thi bởi một môi trường chạy tương thích với CIL, như CLR trong .NET. Các ngôn ngữ nhắm đến CLI sẽ biên dịch mã nguồn của họ thành CIL. CIL là ngôn ngữ hướng đối tượng, dựa trên ngăn xếp bytecode. Các môi trường chạy thường biên dịch ngay lập tức (just-in-time compile) các hướng dẫn CIL thành mã máy gốc[3].

Trong quá trình biên dịch của các ngôn ngữ lập trình CLI, mã nguồn được chuyển đổi thành mã CIL thay vì mã đối tượng cụ thể cho nền tảng hoặc loại bộ xử lý. Mã CIL được kiểm tra về độ an toàn trong quá trình chạy, cung cấp an ninh và độ tin cậy tốt hơn so với các tệp thực thi được biên dịch gốc[3].

Về mặt kỹ thuật, không có sự khác biệt thực sự giữa CIL và M...

Bạn cần đăng nhập để xem
senior

senior

Gợi ý câu hỏi phỏng vấn

senior

Tại sao thư viện .NET Standard tồn tại?

middle

Kể tên một số dịch vụ CLR (Common Language Runtime) trong .Net core?

middle

Trình biên dịch JIT là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào