Common Language Runtime (CLR) เป็นส่วนที่จัดการการทำงานของโปรแกรม .NET ตัวคอมไพเลอร์ Just-In-Time (JIT) จะแปลงโค้ดที่คอมไพล์แล้วเป็นคำสั่งเครื่อง (Machine Instructions) ซึ่งคอมพิวเตอร์จะนำไปประมวลผล
บริการหลักของ CLR
- การจัดการหน่วยความจำ (Memory Management) - จัดสรรและปล่อยหน่วยความจำอัตโนมัติ
- การจัดการข้อยกเว้น (Exception Handling) - จัดการข้อผิดพลาดขณะรันโปรแกรม
- ความปลอดภัยของชนิดข้อมูล (Type Safety) - ป้องกันการเข้าถึงหน่วยความจำที่ไม่ถูกต้อง
คุณสมบัติสำคัญของ CLR
Components (คอมโพเนนต์)
คอมโพเนนต์ที่เขียนในภาษาอื่นๆ สามารถทำงานร่วมกับ CLR ได้อย่างง่ายดาย
Threading (เธรดดิ้ง)
CLR รองรับเธรดเพื่อสร้างแอปพลิเคชันแบบ Multithreaded
Class Library Support (ไลบรารีคลาส)
มีชนิดข้อมูลในตัว (Built-in types) และไลบรารีสำหรับ Assemblies, Threading, Memory Management ฯลฯ
Debugging (การดีบัก)
CLR ทำให้การดีบักโค้ดง่ายขึ้น
Garbage Collection (การเก็บขยะ)
จัดการหน่วยความจำอัตโนมัติโดยการเก็บออบเจ็กต์ที่ไม่ได้ใช้แล้ว