العودة إلى الدورة

البرمجة التركيبية (استخدام ملفات مصدر متعددة)

لغة C: من الصفر إلى الاحتراف - الدليل الشامل للمبتدئين

الدرس 57: البرمجة التركيبية (استخدام ملفات مصدر متعددة)

مع نمو البرامج، يصبح وضع كل الكود في ملف واحد (main.c) غير عملي. تتضمن البرمجة التركيبية تقسيم الكود إلى وحدات منطقية (modules)، تتكون عادة من ملف رأس (.h) و ملف مصدر (.c) مقابل له.

دور الملفات

1. ملف الرأس (module.h)

يحتوي على التصريحات (النماذج الأولية) للدوال، والمتغيرات العالمية (باستخدام extern) ، وتعريفات الهياكل.

c // utility.h #ifndef UTILITY_H #define UTILITY_H

// نموذج أولي للدالة: int power(int base, int exp);

#endif

2. ملف المصدر (module.c)

يحتوي على التعريفات الفعلية (التنفيذ) للدوال المعلنة في ملف الرأس.

c // utility.c #include "utility.h"

int power(int base, int exp) { int result = 1; for (int i = 0; i < exp; i++) { result *= base; } return result; }

3. الملف الأساسي (main.c)

يضمن ملف الرأس للوصول إلى النماذج الأولية ويستدعي الدوال المعرفة في مكان آخر.

c // main.c #include <stdio.h> #include "utility.h" // تضمين الرأس المحلي

int main() { int result = power(2, 5); printf("2^5 = %d\n", result); return 0; }

عملية الترجمة

عند استخدام ملفات متعددة، يجب ترجمتها معاً:

bash gcc main.c utility.c -o my_app ./my_app

تخبر هذه العملية المترجم بترجمة كل ملف .c ثم ربط ملفات الكائنات الناتجة في ملف تنفيذي واحد.