دسته بندی ها
12:12 1398/11/15

مفهوم CLR در دات نت چیست ؟

مشخصات سوال کننده :
کاربر : fateme     امتیاز کاربر : 1635     رتبه کاربر : 2
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 7311
هوش مصنوعی

پاسخ هوش مصنوعی

CLR که مخفف "Common Language Runtime" است، یکی از اجزای اصلی فریم ورک دات نت (NET Framework) به شمار می رود. این محیط اجرایی مسیول مدیریت اجرای برنامه های دات نت است و امکانات مختلفی را برای توسعه دهندگان فراهم می آورد.

CLR وظایف زیر را انجام می دهد:

  • مدیریت حافظه: CLR مسیول تخصیص و آزاد کردن حافظه برای برنامه ها است و مدیریت زباله (Garbage Collection) را انجام می دهد تا از نشت حافظه جلوگیری کند.
  • امنیت: CLR مکانیزم های امنیتی را پیاده سازی می کند تا از اجرای کدهای خطرناک جلوگیری شود.
  • اجرا و کمپایل: کدهای نوشته شده به زبان های مختلف دات نت مانند C#، VB.NET و F# به زبان میان رده (Intermediate Language یا IL) کمپایل می شوند و سپس CLR آن ها را اجرا می کند.
  • پشتیبانی از زبان های مختلف: CLR به برنامه نویسان این امکان را می دهد که از زبان های مختلف دات نت استفاده کنند و این زبان ها بتوانند به سهولت با یکدیگر تعامل داشته باشند.
  • اشکال زدایی و استثناها: CLR قابلیت های خوبی برای اشکال زدایی و مدیریت استثناها فراهم می آورد که به توسعه دهندگان در شناسایی و برطرف کردن خطاها کمک می کند.

به طور کلی، CLR قلب فریم ورک دات نت را تشکیل می دهد و نقش حیاتی در اجرا و مدیریت برنامه های دات نت دارد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 12:18 1398/11/15

در مورد اینکه مفهوم CLR چیست به صورت خلاصه میشه تعریف زیر رو ارائه داد :

هسته ی مرکزی دات نت با عنوان Common Language Runtime یا CLR شناخته میشود.

این هسته شامل کدهای Garbage Collection و Just In Time Compiler میشود و رابط بین برنامه های دات نت و سیستم عامل است. 

بخش بزرگی از سورس CLR با زبان سی شارپ نوشته شده است اما برای کدهای GC و JIT و بعصی موارد دیگر از ++C و Assembly نیز استفاده شده است.

سورس CLR باز است و می توانید از Github دانلود کنید.

 

CLR یا Common Language Runtime

مهمترین قسمت پلتفرم دات نت یا همون CLR در واقع ماشین مجازی یا Virtual Machine دات نت فریمورک هست که وظیفه مدیریت اجرای برنامه های دات نتی رو بر عهده داره. در این محیط مجازی در زمان اجرا فرایندی با نام JIT یا Just In Time Compilation کار کامپایل کدهای CIL به زبان ماشین رو انجام میده. CLR سرویسهای متعدد دیگه ای مثل مدیریت حافظه و garbage collection، مدیریت خطاها، مدیریت ثردها (Thread Management) و ... رو هم فراهم میکنه. CLR درواقع پیاده سازی بخشی از CLI به نام VES یا Virtual Execution System تو دات نت فریمورک هست.

برای توضیحات بیشتر میتونید یک سرچ در گوگل بزنید.

به این پاسخ امتیاز بدهید    1
امتیاز: 518 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود