पाठ 33 / 36

हेडर, मल्टी-फाइल प्रोग्राम और कंपाइलेशन

#include, हेडर गार्ड और लिंकर कैसे मिलकर काम करते हैं।

#include फाइल को अंदर चिपकाता है

#include <stdio.h> (एंगल ब्रैकेट — सिस्टम हेडर) या #include "myheader.h" (कोट्स — आपकी अपनी फाइलें) कंपाइल होने से पहले उस फाइल का टेक्स्ट उसी जगह चिपका देता है।

हेडर गार्ड दोहरे समावेश को रोकते हैं

अगर दो फाइलें एक ही हेडर को #include करती हैं, तो गार्ड सुनिश्चित करता है कि उसकी सामग्री केवल एक बार प्रोसेस हो, जिससे "redefined" त्रुटियाँ नहीं आतीं।

#ifndef MATH_UTILS_H
#define MATH_UTILS_H

int add(int a, int b);
int sub(int a, int b);

#endif // MATH_UTILS_H

कंपाइल -> ऑब्जेक्ट फाइल -> लिंक

हर .c फाइल अलग से .o (ऑब्जेक्ट) फाइल में कंपाइल होती है; फिर लिंकर सभी .o फाइलों और लाइब्रेरी कोड को जोड़कर एक executable बनाता है।

कई फाइलें कंपाइल करना

सभी सोर्स दिए जाने पर gcc एक ही कमांड में कंपाइलिंग और लिंकिंग साथ करता है।

gcc main.c math_utils.c -o app
./app