تک دیک

واژه نامه و مجله آموزشی کامپیوتر و تکنولوژی

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

کامپایلر Compiler

کامپایلر یا Compiler چیست؟

کامپایلر (Compiler) یک برنامه‌ی رایانه‌ای است که سورس کد نوشته شده به یک زبان برنامه نویسی (زبان مبدأ) را به یک زبان دیگر (زبان مقصد) تبدیل می‌کند. البته معمولا این اصطلاح برای برنامه‌هایی به کار می‌رود که سورس کد یک زبان برنامه نویسی سطح بالا (نظیر C یا BASIC) را به سورس کد یک زبان سطح پایین‌تر (نظیر کد ماشین یا زبان اسمبلی) تبدیل می‌کنند.

حاصل این فرایند که Compilation نامیده می‌شود، برنامه‌ای است که توسط پردازنده قابل اجرا خواهد بود. در واقع، هدف یک کامپایلر متداول، ایجاد برنامه‌ی قابل اجرا از روی سورس کد نوشته شده است (برنامه‌ای که درک آن برای پردازنده آسان است نه مانند سورس کدهای یک زبان سطح بالا که برای انسان قابل فهم هستند).

زبان‌های کامپایلی یا کامپایل شده (Compiled Language) به نوعی از زبان‌های برنامه‌نویسی گفته می‌شود که سورس کد آن‌ها پیش از اجرا شدن باید کامپایل شود. در مقابل این زبان‌ها، سورس کدهای نوشته شده به زبان‌های تفسیری بدون نیاز به کامپایل شدن توسط برنامه‌هایی موسوم به مفسر (Interpreter) اجرا می‌شود. معمولا برنامه‌های نوشته شده به زبان‌های کامپایلی در هنگام اجرا سریعتر عمل می‌کنند چرا که لازم نیست سورس کد آن‌ها هنگام اجرا به زبان ماشین ترجمه شود.

انواع کامپایلرها

چه از نظر مفهوم و چه از نظر عملکرد، انواع مختلفی از کامپایلرها وجود دارد. برخی از کامپایلرها از برنامه‌های کوچکتری تشکیل شده‌اند که هرکدام مرحله‌ای از کامپایل را انجام می‌دهند. به این کامپایلرها چند گذره (Multi-pass Compiler) گفته می‌شود. ویژگی‌های برخی از زبان‌ها به گونه‌ای است که در مواردی هنگام کامپایل کردن، خواندن مجدد سورس کد در آن‌ها ضروری می‌باشد. در چنین موقعیت‌هایی نوع چندگذره با ایجاد خروجی‌های میانی نهایتا سورس کد نهایی را تولید می‌کند. برخی دیگر از کامپایلرها تنها در یک گذر و به طور کامل تمام سورس کد دریافتی از زبان مبدأ را به زبان مقصد تبدیل می‌کنند که به آن‌ها کامپایلر تک گذره (Single-pass Compiler) گفته می‌شود.

گونه‌ای از کامپایلرها که به محلی یا بومی (Native Compiler) مشهور هستند به شکلی طراحی می‌شوند که خروجی آن‌ها تنها روی همان پلتفرم (سیستم عامل و پردازنده‌ای) که کامپایلر در آن اجرا شده قابل اجرا هستند. در عوض، خروجی کامپایلرهای متقاطع (Cross Compiler) روی پلتفرم‌های مختلفی قابل اجراست.

کامپایلرهایی که زبان مبدأ و مقصد آن‌ها دو زبان تقریبا هم سطح (معمولا سطح بالا) هستند را کامپایلرهای Source to Source می‌نامند. برنامه‌ای که سورس کد یک زبان سطح پایین‌تر را به یک زبان سطح بالاتر ترجمه می‌کند نیز دیکامپایلر (Decompiler) نامیده می‌شود.

تولید و انتشار محتوای تخصصی علاوه بر زمان، هزینه هم دارد. بخش عمده هزینه‌های تک‌دیک با بودجه شخصی و حمایت‌های شما کاربران گرامی تأمین می‌شود. اگر محتوای این صفحه برای شما مفید واقع شده با روش‌های مختلفی از سراسر دنیا می‌توانید در تکمیل و تداوم فعالیت این سایت به گروه کوچک ما کمک کنید و در اجر معنوی آن نیز سهیم شوید. ما صمیمانه قدردان این محبت شما هستیم.

ما در تک‌دیک تلاش می‌کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. به همین دلیل هر مطلب پیش از انتشار بارها بازبینی می‌شود. از طرف دیگر با توجه به حجم بالای مطالب به کمک شما هم نیاز داریم. اگر احساس می‌کنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال می‌شویم آن را در بخش دیدگاه‌های همین مطلب با ما در میان بگذارید.

دیدگاه‌ها

2 پاسخ به “کامپایلر Compiler”

  1. احسان نیم‌رخ
    احسان

    خوبه و ساده است
    آسون توضیح می دی برای کسی که می خواد تازه شروع کنه و اصطلاحات براش گنگه و هیچی نمیدونه خوبه مثل من
    پبشنهاد میکنم این ها رو به زبان ساده توضیح بده
    پیش پردازنده ، راهنمای پیش پردازنده ، کتابخانه ، ماکرو و میکرو
    هیچ کی اینهارو ساده توضیح نداده
    کلا اگر بتونی توضیح بدی وقتی یه برنامه ران میشه چه اتفاقی میفته چه مراحلی طی میشه و اون پشت پرده ی کامپیوتر که ما نمیبینیم چی داره میگذره به درک بهتر از برنامه نویسی کمک می کنه

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

      سلام؛
      ممنون از نظر ارزشمندتون
      حتما در برنامه آتی مون قرار می گیره

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته‌های بیشتر

تبلیغات متنی ساده