کد مدریت شده (Managed Code) در داتنت یعنی چی؟
▫️به زبان ساده:
کد مدریت شده (Managed Code) یعنی کدی که اجرای آن توسط یک Runtime مدیریت میشود.
در دنیای داتنت، این Runtime همان CLR (Common Language Runtime) است.
مثلاً وقتی با سیشارپ کد مینویسیم، کدم مستقیماً به Machine Code تبدیل نمیشود.
مسیر کلی به این شکل است:
C# → Compiler → IL → CLR → JIT → Machine Code → CPU
🔹 زبان میانی (Intermediate Language یا IL) — ایال
بعد از اینکه برنامه سیشارپ کامپایل میشود، خروجی مستقیماً Machine Code نیست؛ بلکه کدی به نام IL تولید میشود.
🔹 محیط اجرای .NET (Common Language Runtime یا CLR)
سی ال ار (CLR) همان Runtime داتنت است که اجرای Managed Code را مدیریت میکند و سرویسهایی مثل مدیریت حافظه و Type Safety را فراهم میکند.
🔹 کامپایلر در زمان اجرا (Just-In-Time یا JIT)
جیت (JIT) در زمان اجرای برنامه، IL رو به Machine Code تبدیل میکند تا CPU بتواند آن را اجرا کند.
🔹 مدیریت حافظه (Memory Management)
یکی از مزیتهای مهم Managed Code این است که Runtime میتواند مدیریت حافظه را انجام دهد؛ مثلاً Garbage Collector حافظهای را که دیگر استفاده نمیشود، برای آزادسازی مدیریت میکند.
🔵 کد مدیریتشده در مقابل کد مدیریتنشده
در برنامههای Native مثل C و ++C، کد معمولاً مستقیماً به Machine Code تبدیل میشود و مسئولیتهای بیشتری مانند مدیریت حافظه بر عهده برنامهنویس است.
اما در داتنت مسیر به این شکل است:
C# → IL → CLR → Machine Code
به همین دلیل به کدی که اجرای آن تحت مدیریت CLR انجام میشود، Managed Code میگوییم.
🔗 جزئیات بیشتر را در این لینک بخوانید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#کامیار_شکیب (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______
Post #2394
1.31K