پاسخ هوش مصنوعی
CLR که مخفف "Common Language Runtime" است، یکی از اجزای اصلی فریم ورک دات نت (NET Framework) به شمار می رود. این محیط اجرایی مسیول مدیریت اجرای برنامه های دات نت است و امکانات مختلفی را برای توسعه دهندگان فراهم می آورد.
CLR وظایف زیر را انجام می دهد:
- مدیریت حافظه: CLR مسیول تخصیص و آزاد کردن حافظه برای برنامه ها است و مدیریت زباله (Garbage Collection) را انجام می دهد تا از نشت حافظه جلوگیری کند.
- امنیت: CLR مکانیزم های امنیتی را پیاده سازی می کند تا از اجرای کدهای خطرناک جلوگیری شود.
- اجرا و کمپایل: کدهای نوشته شده به زبان های مختلف دات نت مانند C#، VB.NET و F# به زبان میان رده (Intermediate Language یا IL) کمپایل می شوند و سپس CLR آن ها را اجرا می کند.
- پشتیبانی از زبان های مختلف: CLR به برنامه نویسان این امکان را می دهد که از زبان های مختلف دات نت استفاده کنند و این زبان ها بتوانند به سهولت با یکدیگر تعامل داشته باشند.
- اشکال زدایی و استثناها: CLR قابلیت های خوبی برای اشکال زدایی و مدیریت استثناها فراهم می آورد که به توسعه دهندگان در شناسایی و برطرف کردن خطاها کمک می کند.
به طور کلی، CLR قلب فریم ورک دات نت را تشکیل می دهد و نقش حیاتی در اجرا و مدیریت برنامه های دات نت دارد.
در مورد اینکه مفهوم 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 تو دات نت فریمورک هست.
برای توضیحات بیشتر میتونید یک سرچ در گوگل بزنید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2