با عرض سلام خدمت دوستان :

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

3. سومین کامپایلری که قصد معرفی آن را دارم کامپایلر Pelles C میباشد که کامپایلری عالی است و البته تنها از زبان C پشتیبانی میکند. این کامپایلر بسیار قدرتمند بوده و برنامه هایی با حجم کم و بهینه شده تولید میکند. این را من خودم بشخصه تجربه کرده ام بدین صورت که دو برنامه یکسان را با این کامپایلر و با MinGW کامپایل کردم البته هیچکدام از گزینه های مربوط به بهینه سازی کد را در هیچ کدام از این دو کامپایلر فعال نکردم. اما کد خروجی Pelles C حجم کمتری داشت (لازم به ذکر است که برنامه مورد ذکر برنامه ای تحت ویندوز بود). و بار دیگر در برنامه ای دیگر کد خروجی Pelles C حجم خروجی بزرگتری داشت.( و این یک برنامه تحت داس و کنسولی بود).

بطور خلاصه این کامپایلر واقعا برای کسانی که تنها قصد استفاده از زبان "C" را دارند بسیار مفید است ضمن اینکه برنامه هایی که ما طی دروس بعدی خواهیم نوشت تماما از"C" استفاده میکنند و بعدها که به مراحل پیشرفته کار رسیدیم از C++ نیز اسنفاده فراوان خواهیم برد. اما برای شروع یادگیری OpenGL ما هیچ اجباری در بکارگیری C++ و پیچیدگیهای برنامه نویسی شی گرا نداریم و در عوض وقتمان را به یادگیری OpenGL اختصاص میدهیم.
البته منظور این نیست که C++ سخت است و یا بدرد ما نمیخورد بلکه منظورم اینست که فعلا"C" به بهترین نحوی نیازهای ما را برآورده میکند و به ما اجازه میدهد فارق از پیچیدگی های برنامه نویسی شی گرا تمام حواسمان را وقف خود OpenGL بکنیم.
نکته دیگری که لازم است اینجا به دوستان تازه کار متذکر شوم اینست که اگر میخواهید برنامه ای بنویسید که در آن از قابلیتهای ویژه C++ استفاده نمیکنید سعی کنید از فایلهای سر آیند "C" استفاده کنید و نه از فایلهای هدر C++. برای اینکه واضحتر بگویم یک مثال می آورم. در برنامه ساده زیر من هیچ گونه استفاده ای از قابلیتهای C++ نکرده ام. یک برنامه ساده است که یک خط متن را روی صفحه چاپ میکند. خوب این برنامه را میتوان به دو صورت نوشت. با استفاده از فایل هدر "iostream.h" و یا با استفاده از فایل هدر "stdio.h" که متعلق به "C" است.

برنامه اول که با کمک "C" نوشته شده :
1: #include <stdio.h> // this way
2:
3: int main()
4: {
5: printf("this is a test\n");
6: return 0;
7: }
برنامه دوم که با کمک "C++" نوشته شده :

1: #include <iostream.h> // this way
2:
3: int main()
4: {
5: cout << "this is a test" << endl;
6: return 0;
7: }

با کامپایل هر کدام از این دو برنامه در محیطDev-C++ به این نتیجه میرسیم که برنامه ای که از فایلهای هدر و کلا کتابخانه "C" استفاده کرده حجم بسیار بسیار کمتری نسبت به همتای خود که با کمک کتابخانه و فایل هدر "C++" نوشته شده برخوردار میباشد. حجم نمونه "C" برابر با 15.2 و حجم نمونه "C++" برابر با 454 میباشد( مبنا کیلو بایت میباشد).
علت این است که کتابخانه های این زبانها حالت استاتیک دارند بطور کامل به برنامه ضمیمه میشوند فارق از این که شما از چه تعداد توابع این کتابخانه استفاده کرده اید.( همینجا میگویم که من این مطلب که کتابخانه های سی و سی++ بطور استاتیک به برنامه ضمیمه میشوند و بدین علت حجم برنامه خروجی را افزایش میدهند را مدتها پیش در سایت برنامه نویس در یکی از فرمها خواندم و خودم
اطمینان 100% در مورد آن ندارم. که علت افزایش حجم حتما همین باشد. اما چیزی که مسلم است اینست که تفاوت حجم کد خروجی در دو زبان بسیار چشمگیر است).

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

این کامپایلر "Pelles C" مجهز به یک IDE سر خود نیز میباشد و از قدرت خوبی در کامپایل برنامه های "C" برخوردار است و دیگر شما لازم نیست بدنبال IDE برای آن بگردید.


4. کامپایلر دیگری که قصد معرفی آن را دارمOpen Watcom میباشد که سابقه طولانی با خود به همراه دارد و بتازگی بصورت رایگان در اختیار همه قرار داده شده است. این کامپایلر یک IDE خوب به همراه یک سری کامل از ابزارهای جانبی را با خود یدک میکشد. آنقدر ابزار با خود دارد که تقریبا نیاز هر اهل فن و برنامه نویس حرفه ای را به راحتی برطرف میسازد. احتمالا بسیاری از دوستان با آن آشنا هستند. البته احتمالا حجم آن یک مقدار برای دانلود زیاد است (نزدیک به 60 مگابایت). ولی اگر کسی آرزوی استفاده از کامپایلری فوق العاده و رایگان و قابل رقابت با بزرگان این عرصه را دارد باید بگویم این همان چیزی است که بدنبالش هستید.
برای دانلود آن میتوانید به این صفحه مراجعه کنید :
5. کامپایلر LCC-Win 32 نیز از جمله کامپایلر هایی است که IDE مخصوص به خود را بهمراه دارد و برای استفاده غیر تجاری رایگان است. در سطح اینترنت شناخته شده است و قابلیت تولید اکثر انواع برنامه ها را دارد. (همچون دیگر کامپایلر های معرفی شده قابلیت تولید برنامه های کنسولی و تحت ویندوز و کتابخانه های دینامیک و استاتیک و ... را دارد). البته استفاده از آن را چندان به مبتدیان پیشنهاد نمیکنم چون IDE آن زیاد برای مبتدیان جذاب و راحت نمیباشد.

برای دانلود و آشنایی با آن میتوانید به این آدرس مراجعه کنید : (لازم به ذکر است که آخرین نگارش این کامپایلر 4.0 است و در سال 2006 آماده شده است)
6. و اما به عنوان آخرین مورد قصد دارم IDE ای بنام MinGW Developer Studio را به شما معرفی کنم که توسط عده ای برای کامپایلر MinGW طراحی شده است. بد نیست و به راحتی جوابگوی برنامه نویسانی است که از آن انتظاراتی در حد IDE های حرفه ای ندارند. راحت سبک و بی دردسر است و با کامپایلر MinGW نهایت سازگاری را دارد چون صرفا برای آن طراحی شده است. بطور خلاصه محیط ساده و صمیمی دارد. برای آشنایی و تماشای Screenshot های آن و دانلودش میتوانید به این آدرس مراجعه کنید:
وبه عنوان یک نطق خارج ازدستور(چی گفتم)این کامپایلر آخری را هم معرفی میکنم. بلهDigital Mars را فراموش کردیم. البته این کامپایلر بدون IDE ارایه میشود ولی شما با داشتن یکی از دو IDE ی Relo و یا CodeBlocks میتوانید این کامپایلر را به هر کدام از آنها که بخواهید معرفی کرده و استفاده کنید یا به عبارت بهتر حالش رو ببرید (یکم شوخی هم برای رفع خستگی دوستان ضرر نداره).
البته هنوز کامپایلر ها و IDE های زیاد دیگری هستند که ما در اینجا معرفی نکردیم و شما میتوانید با مراجعه به این صفحه به لیست کاملی از آنها به همراه توضیحی مختصر دسترسی داشته باشید. البته در اینجا چیزهای مفید دیگری مانند کتابخانه های رایگان برای C++ نیز معرفی شده است:

به عنوان آخرین نکته خطاب به دوستانی که هنوز در استفاده از این کامپایلر ها و IDE ها مردد هستند و دلشان برای آسایشی که در پناه MFC داشتند تنگ میشود wxWidgets را معرفی میکنم. این کتابخانه ای است کا با تمام کامپایلر ها قابل اجتماع است و نمیگذارد دوستان دلتنگ MFC شوند حتی به جرات میتوان گفت که از MFC نیز بهتر است و هنوز هم تلاش برای بهبود آن ادامه دارد و در قالب یک پروژه در حال توسعه است.

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