کامپایل و اجرای برنامه
کامپایل و اجرای برنامه در زبان C
برای اجرای یک برنامه نوشتهشده با زبان C، ابتدا باید کد منبع آن به زبان قابل فهم برای کامپیوتر تبدیل شود. این فرایند کامپایل نام دارد و پس از آن میتوان برنامه را اجرا کرد و نتیجه را مشاهده کرد.
کامپایل چیست؟
کامپایل فرایندی است که طی آن، کد منبع برنامه که معمولاً در فایلی با پسوند .c نوشته شده است، توسط کامپایلر بررسی و به کد قابل اجرا یا کد میانی تبدیل میشود. کامپایلر خطاهای نحوی و برخی خطاهای دیگر را نیز شناسایی میکند.
مراحل کامپایل و اجرای برنامه
نوشتن کد
برنامه را در یک ویرایشگر یا محیط توسعه نوشته و با پسوند .c ذخیره میکنیم.
کامپایل
کامپایلر کد را بررسی میکند و در صورت موفقیت، مراحل تولید فایل اجرایی را انجام میدهد.
اجرا
فایل اجرایی را اجرا میکنیم تا دستورات برنامه انجام شوند و خروجی نمایش داده شود.
تفاوت کامپایل و اجرا
کامپایل، کد منبع را به برنامه قابل اجرا تبدیل میکند؛ اما اجرا زمانی است که سیستمعامل برنامه را راهاندازی میکند و دستورات آن انجام میشوند. ممکن است برنامه بدون خطای کامپایل ساخته شود، ولی هنگام اجرا نتیجه مورد انتظار را تولید نکند.
کامپایل و اجرای برنامه با کامپایلر GCC
یکی از کامپایلرهای رایج زبان C، کامپایلر GCC است. اگر این کامپایلر روی سیستم نصب باشد، میتوان برنامه را از طریق ترمینال یا خط فرمان کامپایل و اجرا کرد.
مثال اول: نوشتن یک برنامه ساده
کد زیر را در فایلی با نام hello.c ذخیره کنید.
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
Hello, World!
مرحله اول: کامپایل برنامه
ترمینال را در پوشهای که فایل hello.c قرار دارد باز کنید و دستور زیر را وارد کنید:
gcc hello.c -o hello
معمولاً هیچ پیامی نمایش داده نمیشود. اگر کامپایل موفق باشد، فایل اجرایی با نام hello ساخته میشود.
در این دستور:
- gcc نام کامپایلر است.
- hello.c فایل کد منبع برنامه است.
- -o hello نام فایل خروجی را مشخص میکند.
مرحله دوم: اجرای برنامه در ویندوز
اگر در محیط ویندوز از کامپایلر GCC استفاده میکنید، معمولاً فایل اجرایی با پسوند .exe ساخته میشود. برای اجرای برنامه، دستور زیر را وارد کنید:
.\hello.exe
Hello, World!
مرحله دوم: اجرای برنامه در لینوکس و macOS
در بسیاری از محیطهای لینوکس و macOS، اگر کامپایلر GCC یا کامپایلر سازگار نصب باشد، فایل خروجی بدون پسوند ساخته میشود. برای اجرای آن از دستور زیر استفاده کنید:
./hello
Hello, World!
نکته مهم
اگر هنگام وارد کردن دستور کامپایل، پیام خطا دریافت کردید، ابتدا مطمئن شوید کامپایلر نصب است و فایل hello.c در مسیر فعلی قرار دارد. همچنین نام فایل را دقیق وارد کنید.
کامپایل و اجرای برنامه در محیط توسعه
در محیطهای توسعه یکپارچه مانند Code::Blocks، معمولاً لازم نیست دستورات کامپایل و اجرا را بهصورت دستی وارد کنید. پس از نوشتن و ذخیره برنامه، میتوانید از گزینههای مربوط به ساخت و اجرا استفاده کنید.
Build
کد برنامه را کامپایل میکند و فایل اجرایی را میسازد.
Run
برنامه ساختهشده را اجرا میکند.
Build and Run
در بسیاری از محیطها، ابتدا برنامه را میسازد و سپس آن را اجرا میکند.
بررسی خطاهای کامپایل
اگر کد برنامه دارای خطای نحوی باشد، کامپایلر معمولاً پیام خطا نمایش میدهد و ممکن است فایل اجرایی ساخته نشود. برای مثال، در کد زیر علامت پایان دستور ; بعد از دستور printf وجود ندارد.
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n")
return 0;
}
کامپایلر خطایی مرتبط با ساختار دستورها گزارش میکند. متن دقیق پیام به کامپایلر و نسخه آن بستگی دارد و ممکن است محل خطا را در همان خط یا خط بعدی نشان دهد.
برای رفع خطا، علامت ; را در انتهای دستور printf قرار میدهیم.
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
Hello, World!
مثال دوم: محاسبه مجموع دو عدد
در این مثال، دو عدد در متغیرهای برنامه قرار میگیرند، مجموع آنها محاسبه میشود و نتیجه در خروجی نمایش داده میشود.
#include <stdio.h>
int main(void)
{
int a = 10;
int b = 20;
int sum = a + b;
printf("Sum = %d\n", sum);
return 0;
}
Sum = 30
برای کامپایل این برنامه، کد را در فایل sum.c ذخیره کرده و دستور زیر را اجرا کنید:
gcc sum.c -o sum
پیام خاصی نمایش داده نمیشود و فایل اجرایی با نام sum یا در ویندوز معمولاً sum.exe ایجاد میشود.
سپس برنامه را اجرا کنید.
.\sum.exe
./sum
Sum = 30
جمعبندی
- کد منبع زبان C معمولاً در فایلی با پسوند .c ذخیره میشود.
- کامپایلر کد را بررسی میکند و در صورت موفقیت، مراحل تولید فایل اجرایی را انجام میدهد.
- برای کامپایل با GCC میتوان از دستور gcc file.c -o program استفاده کرد.
- در ویندوز معمولاً فایل اجرایی پسوند .exe دارد؛ در لینوکس و macOS این پسوند معمولاً وجود ندارد.
- موفقیت در کامپایل لزوماً به معنای درست بودن منطق برنامه نیست؛ رفتار برنامه باید هنگام اجرا نیز بررسی شود.
تمرین
برنامهای بنویسید که دو متغیر با مقادیر 15 و 25 داشته باشد، مجموع آنها را محاسبه کند و نتیجه را نمایش دهد. سپس برنامه را در فایلی با پسوند .c ذخیره کنید، آن را کامپایل کرده و اجرا کنید.

دیدگاه کاربران
نظر یا تجربه خود را درباره این مطلب با دیگران به اشتراک بگذارید.