کامپایلر زبان C
پیش از این درباره مزایای زبان c و مزایای یادگیری آن نوشتیم. از اینکه زبان c زبانی پایه و پرکاربرد است و بسیاری از زبان های معروف دیگر در برنامه نویسی ویژگی های بسیاری را از آن به ارث برده اند. در مزایای زبان c به کامپایلری بودن آن نیز اشاره کردیم. و حالا در این مقاله قصد داریم که بیشتر به کامپایلر زبان c بپردازیم.
پیش از هر چیز؛ کامپایلر چیست؟
کامپایلر به برنامه یا مجموعهای از برنامههای کامپیوتری گفته می شود که متنی از زبان برنامهنویسی سطح بالا (زبان مبدأ) را به زبانی سطح پایین (زبان مقصد)، تبدیل میکند. خروجی این برنامه ممکن است برای پردازش شدن توسط برنامه دیگری مثل پیونددهنده مناسب باشد یا فایل متنی ای بصورت نوشتاری انگلیسی باشد تا بتوانیم آن را بخوانیم. مهمترین دلیل استفاده از ترجمه کد مبدأ، ایجاد برنامه اجرایی میباشد.
در واقع بطور کلی ترجمه کامل زمان منبع برنامهای از یک زبان سطح بالا به کد، پیش از اجرای برنامه را کامپایل میگویند. به بیان ساده، کامپایلر برنامهای است که یک برنامه نوشته شده در یک زبان خاص ساختیافته را خوانده و آن را به یک برنامه مقصد تبدیل می کند.
کامپایلر چگونه کار می کند؟
معمولا یک برنامهنویس با استفاده از ویرایشگر، جملات زبان را به زبانی مانند پاسکال یا C به صورت خطی می نویسد. فایلی که از این خط ها ایجاد میشود شامل مواردی است که گفتههای منبع را بازگو میکند. سپس برنامهنویس، کامپایلر زبان مناسب را انتخاب و اجرا میکند. کامپایلر ابتدا تمام عبارات زبان را به صورت نحوی یکی پس از دیگری تجزیه و تحلیل میکند و سپس، در یک یا چند مرحله متوالی، کد خروجی را میسازد، و مطمئن میشود که عباراتی که به سایر عبارات در کد نهایی هستند به درستی ارجاع شدهاند.
انواع کامپایلر
به مفهوم و روش عملکر کامپایلر ها پرداختیم و آنها را بررسی کریدم. حالا سه نوع اصلی کامپایلر ها را معرفی می کنیم و هر یک را مختصرا توضیح می دهیم.
بطور کلی سه نوع کامپایلر داریم. کامپایلر تک گذره، کامپایلر دو گذره و کامپایلر چند گذره.
1. کامپایلر تک گذره
در کامپایلرهای تک گذره، کد منبع به طور مستقیم به کدهای دودویی ماشین تبدیل میشود. این کامپایلر فقط یک بار از هر بخش برنامه عبور میکند و هر بخش برای کدهای نهایی ماشین ترجمه میشود. این فرآیند روی همه خطهای کد منبع انجام و تکرار میشود تا کامپایل کل برنامه و تبدیل کدهای آن به کد دودویی ماشین انجام شود.
2 . کامپایلر دو گذره
کامپایلرهای دو گذره همانطور که از نامش مشخص است از دو مرحله اصلی گذر می کند. کامپایلر دو گذره به دو بخش اصلی فرانت اند و بک اند به صورت زیر تقسیم میشوند:
فرانتاند: این بخش از کامپایلرهای دو گذره، کدهای منطقی را به نمایش میانی نگاشت میکنند.
بکاند: سپس در این بخش از عملکرد این نوع کامپایلری، نمایش میانی به کدهای هدف ماشین نگاشت میشوند.
3 . کامپایلر چند گذره
کامپایلرهای چند گذره، کد منبع را چند بار پردازش میکنند. این نوع کامپایلر یک برنامه بزرگ را به چند برنامه کوچک تقسیم و هر کدام از آنها را به صورت جداگانه پردازش میکند. کامپایلرهای چند گذره، چندین کد میانی را توسعه میدهند. گذرها یا فازهای چندگانه این کامپایلر، خروجی فاز قبل را به عنوان ورودی فاز جدید دریافت میکنند، بنابراین، این روش به حافظه کمتری نیاز دارد.
دو مشخصهی کامپایلر های چند گذره:
مستقل بودن کامپایلر چند گذره از ماشین: فازهای کامپایلر چند گذره را میتوان برای سخت افزار یا همان ماشینهای مختلف مورد استفاده مجدد قرار داد.
دارا بودن زبانهای بیانی بیشتر: وجود چندین فاز نیاز به اعلامیههای رو به جلو را از بین میبرند و امکان پیادهسازی بازگشت متقابل را به خوبی به وجود می آورند.
برترین کامپایلر های زبان C
زبان C از پر پیشینه ترین زبان های برنامه نویسی است و گذشته ای طولانی تر از دیگر زبانهای برنامه نویسی دارد. و از برترین زبان ها از نظر کامپایل شوندگی است. با این اوصاف دور از ذهن نیست که وقتی دنبال کامپایلر زبان c بگردیم به گزینه های خوب زیادی بر بخوریم. دز ادامه به معرفی تعداد یاز معروف ترین این کامپایلر ها می پردازیم.
-
کامپایلر Tiny C
کامپایلر تاینی سی، کامپایلری سریع و سبک است. این کامپایلر برای کار بر روی کامپیوترهای کند با فضای کم دیسک طراحی شده است. و از سال ۲۰۰۵ شروع به پشتیبانی از ویندوز کرد. حجم پروندههای این کامپایلر بسیار کم است. و همچنین از سرعتی بسیار بیشتر نسبت به سایر کامپایلر ها برخوردار است. کامپایلر تاینی سی همچنین دارای جستجوگری قدرتمند است که در کنار سرعت و سبک بودن آن موجب محبوبیت بالایش شده است.
-
کامپایلر GCC
این کامپایلر از بسیاری از زبانهای برنامهنویسی پشتیبانی میکند و یک بنیاد نرم افزار رایگان تحت مجوز عمومی و جهانی است. این کامپایلر برای اولین بار در سال ۱۹۸۷ منتشر شد و در ابتدا فقط از زبان برنامه نویسی C پشتیبانی میکرد. اما با گذشت زمان توسعه بیشتری یافت. کامپایلر GCC، کامپایلر محبوب و قدرتمندی است و بسیاری از برنامه نویسان با آن نسبت به سایر کامپایلر ها احساس راحتی بیشتری می کنند.
-
کامپایلر Borland Turbo C
توربو سی یکی از کامپایلرهای اساسی و محبوب زبان برنامه نویسی سی است. این کامپایلر اولین بار در سال ۱۹۸۷ معرفی شد. و به دلیل اندازه کوچک، سرعت تدوین و قیمت پایین محبوب بود. بعد از اینکه ++Turbo C در سال ۱۹۹۰ منتشر شد دیگر تمام کامپایلرها با یکدیگر ادغام شدند و کامپایلر Turbo C متوقف شد. اما در سال ۲۰۰۶ شرکت توربو سی نسخه دیگری از آن را مجدداً به عنوان نرم افزار رایگان عرضه کرد.
-
کامپایلر Portable C
کامپایلر قابل حمل سی، تقریبا یک کامپایلر اولیه بهحساب میآید که تاسیس آن حدودا به زمان تاسیس زبان برنامه نویسی C در سال ۱۹۷۰ باز میگردد. میتوان گفت عمر کامپایلر Portable C به شکل قابل توجهی طولانی بوده است به طوری که اکثریت نرم افزارها با استفاده از این کامپایلر ایجاد شدهاند. این کامپایلر هم میان کامپایلر های دیگر دارای سبکی و سرعت خوبی است و از محبوبیت بالایی برخوردار می باشد.
جمع بندی
شما احتمالا به کامپایل کردن نیاز خواهید داشت. کامپایلری بودن زبان سی از برگ های برنده آن است. زبان سی در زمینه کامپایل شدن گزینه مورد قبول و محبوبیست و کامپایلر هایی با پیشینه بلند مدت و خوبی را داراست. اگر قصد یادگیری زبان سی را دارید، حتما بر یکی از کامپایلر های این زبان برنامه نویسی مسلط شوید.
دیدگاهتان را بنویسید