برنامه مشکلی ندارد.
در پوشه پروژه دستور زیر را اجرا کنید.
کامپایلgcc *.c -o barname
اجرا$ ./barname
//---side1
test in main is OK...
8.000000
8.000000
//---side2
test include external lib is OK...
8.000000
8.000000
اینکه
test.c اجرا نمیشود درست است و نباید هم اجرا شود چون
()main ندارد.
هر برنامهٔ نوشته شده به زبان C یک تابع منحصربفرد به نام
()main دارد که اجرای برنامه را شروع میکند.
برنامهها در فایلهایی با پسوند c. به نام source نوشته میشوند در این نمونه دو source دارید
main.c
test.c
سرآیندها (Header) معمولا در ابتدای کد قرار میگیرند و کتابخانههایی که برای اجرای آن فایل لازم است را اضافه میکنند. از این فایلها در مرحله پیوند استفاده خواهد شد.
برنامه C برای تبدیل شدن به فایل اجرایی نیاز به کامپایل دارد.
به طور خلاصه و نادقیق در فرایند تبدیل فایل c. به برنامه اجرایی دو مرحله اصلی داریم
۱. تولید کد میانی object code
۲. پیوند زدن قسمتها به هم link
بسته
gcc شامل تمام ابزارهای لازم برای اینکار هست.
apt install gcc
gcc میتواند این مراحل را با هم ترکیب کند و اغلب نیازی به اجرای گام به گام ندارید.
دستور زیر را در نظر داشته باشید.
gcc main.c test.c -o barname
دو فایل main.c و test.c را کامپایل کردیم و در خروجی یک فایل اجرایی با نام
barname ساخته شده است که با barname/. میتوانیم آن را اجرا کنیم.
در واقع اینجا gcc مرحله تولید object code و پیوند زدن را با هم انجام داده است.
شما به همین نیاز خواهید داشت.
یک تغییرات مختصری هم در فایلها دادم. پیوست اول را ببینید.
برای اینکه مجبور نباشید هر بار مرحله کامپایل را دستی تکرار کنید میتوانید از build systemها استفاده کنید برای نمونه make.
در پروژههای بزرگتر فایلها را در پوشههای جداگانه قرار میدهند.
برای این مثال چینش فایلها به این شکل انجام دادم
$ tree
.
├── headers
│ └── test.h
├── Makefile
└── src
├── main.c
└── test.c
با افزودن makefile از این پس برای کامپایل و ساخت فایل اجرایی کافی است تنها دستور make را اجرا کنید.
پیوست دوم، پروژه به همراه استفاده از make است.
پس از اجرای دستور make پوشهای به نام bin حاوی فایل اجرایی ساخته خواهد شد.
اجراbin/barname
مرتبط
ابتدا روند کار را بیاموزید سپس به تنظیمات محیط توسعه با توجه به نیازها بپردازید.