دنیای کامپیوتر

compiler چیست؟ بررسی کامپایلر زبان جاوا

وقتی که شما یه برنامه به زبان سطح بالا (مثلا زبان C) رو مینویسید اون برنامه برای اجرا شدن باید به زبان سطح پایین (زبان 0 و 1 یا به اصطلاح زبان ماشین یا باینری) ترجمه بشه، این کار توسط compiler انجام میشه. برای اطلاعات بیشتر با اَبَر پرس همراه باشید.

کامپایلر در اصل یک برنامه است
برنامه هایی که ما به زبان سطح بالا مینویسیم برای این که برای CPU قابل فهم باشن و اون ها رو پردازش کنه باید به 0 و 1 یا همون باینری تبدیل کنه.

پروسه کامپایل شدن یک برنامه
پروسه کامپایل شدن یک برنامه

نکته بسیار مهم: فرض کنید که یه برنامه ای برای یه platform خاص کامپایل شده است مثل کامپیوتر های IBM و اون برنامه کامپایل شده بر روی پلتفرم های دیگه مثل Apple کار نمی کنه!

و یا ممکنه دیده باشید که بعضی از بازی هایی که برای تلفن های اندروید نوشته میشن بر روی CPU های خاصی مثلا پردازنده ARM64 اجرا میشن.

بزرگ ترین مزیت های compiler زبان Java و C#

زبان C# و جاوا از کامپایلر های just in time استفاده میکنن، در مورد compiler زبان جاوا در زیر توصیح دادم.

compiler زبان Java و C#
compiler زبان Java و C#

کد های نوشته شده به زبان جاوا میتونه بر روی هر کامپیوتری اجرا بشه!

کامپایلر زبان جاوا کدهای زبان جاوا را به Java Bytecode تبدیل میکنه که با JVM(Java Virtual Machine) اجرا میشه. و JVM اون بایت کد تولید شده رو براساس اون CPU کامپیوتری که در حال استفاده است ترجمه میکنه و اجرا میشود.

امروزه اکثر زبان های برنامه نویسی سطح بالا با کامپایلرهای مخصوص خودشان عرضه میشود یا به همراه یه toolkit (که کارهای compile رو میکنه یا به عنوان یک واسط عمل میکنه بین زبان و کامپایلر).

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

  1. لینک اول مقاله بسیار کامل درمورد پروسه Compile
  2. لینک دوم مقاله سایت Wikipedia
دوستان عزیز هرگونه سوالی که در طول خواندن مطالب براتون پیش آمد کافیه که درقسمت نظرات از من بپرسید و در سریع ترین زمان ممکن به سوال شما پاسخ می دهم
برچسب ها

رسول وطن پرست

من کارشناس نرم افزار هستم علاقمند به یادگیری و آموزش و نشر اطلاعات و دانسته های خودم هستم.

پاسخی بگذارید

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

دکمه بازگشت به بالا
بستن