TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2255 3.52K
دات نت و معماری Runtime دات نت

از کد تا Intermediate Language (IL) 📝➡️🔄
وقتی کد C# را می‌نویسید، کامپایلر Roslyn وارد عمل می‌شود تا آن را به (IL) تبدیل کند. این مرحله که به عنوان compile time شناخته می‌شود، زمانی است که کد شما از فرم قابل خواندن توسط انسان به IL تبدیل می‌شود. اما چرا IL؟ چرا مستقیماً در کد اسمبلی کامپایل نمی‌شود؟ 🤔

جادو در انعطاف پذیری DotNet Framework نهفته است. DotNet به گونه‌ای طراحی شده است که پلتفرم آگنوستیک باشد، می‌تواند در محیط‌های مختلفی مانند ویندوز، مک و اندروید اجرا شود. هر محیط دارای Common Language Runtime (CLR) خود است که برای آن پلتفرم خاص بهینه شده است. این بدان معنی است که کد IL شما می‌تواند در سیستم‌های مختلف اجرا شود و یک معماری زمان اجرا همه کاره و قدرتمند ارائه دهد. 🌍✨


نقش (CLR) ⏳
در زمان اجرا، CLR کار را به دست می‌گیرد. این بخش اجرای کد IL است. در CLR، یک جزء حیاتی به نام کامپایلر Just-In-Time (JIT) وجود دارد که IL را درست قبل از اجرا، به کد ماشین اصلی کامپایل می‌کند و کارایی و سرعت را تضمین می‌کند. 🚀

مشخصات Common Language Specification (CLS) 🔄
بخش CLS قوانینی را برای نحوه تعامل زبان‌های مختلف تعیین می‌کند. به عنوان مثال، در VB.NET، نیازی به پایان دادن دستورات با ; ندارید، در حالی که در C# اجباری است.

نقش Common Type Specification (CTS) 📋
بخش CTS نحوه اعلان و استفاده از انواع داده را تعریف می‌کند. به عنوان مثال، C# از int استفاده می‌کند در حالی که VB.NET از Integer استفاده می‌کند، اما در انتها، هر دو به عنوان Int32 نشان داده می‌شوند که این بخش توسط CTS تعیین می‌شود.

نقش The Base Class Library (BCL) 📚
در کنار CLR، کتابخانه کلاس پایه (BCL) قرار دارد که کتابخانه‌های ضروری مانند List و Dictionary را در خود جای داده است. BCL مؤلفه‌های اساسی را ارائه می‌دهد که توسعه‌دهندگان هر روز از آن ها استفاده می‌کنند و ثبات و قابلیت اطمینان را در پلتفرم‌های مختلف تضمین می‌کند. 🏛


🔗 نسخه کامل مقاله را می‌توانید در اینجا مطالعه و فیلم را در یوتیوب تماشا کنید. 🎦

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#محمدرضا_پازوکی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
DEV Community DotNet and Its Runtime DotNet and Its Runtime -...
  • 👍 15
  • ❤ 6
  • 👏 2
  • 🔥 1
More from @softwarephilosophy
  1. Sep 27, 2026نگو JEV بگو System One! دنیل کانمن (Daniel Kahneman) توی کتاب معروفش «تفکر، سریع و کند» (T…
  2. Sep 23, 2026بازنویسی کل GitHub Copilot Runtime با Rust 🔶 حدود ۱۲۰،۰۰۰ دلار هزینه توکن و سه هفته وقت ی…
  3. Sep 15, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  4. Sep 12, 2026کد مدریت شده (Managed Code) در دات‌نت یعنی چی؟ ▫️به زبان ساده: کد مدریت شده (Managed Code)…
  5. Sep 5, 2026آشنایی با Attributeها در سی‌شارپ در سی شارپ، Attributeها برای اضافه کردن metadata یا اطلاع…
  6. Aug 25, 2026اگر در دات نت Agent، MCP Server یا ابزارهای مبتنی بر هوش مصنوعی توسعه میدهی، این پروژه میت…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →