यहां हम देखेंगे कि सिस्टम में C प्रोग्राम कैसे निष्पादित होते हैं। यह मूल रूप से एक सी प्रोग्राम की संकलन प्रक्रिया है।
निम्नलिखित आरेख दिखाएगा कि सी स्रोत कोड कैसे निष्पादित किया जा सकता है।
ऊपर दिए गए आरेख में अलग-अलग चरण हैं -
सी कोड - यह वह कोड है जो आपने लिखा है। यह कोड प्रीप्रोसेसर सेक्शन में भेजा जाता है।
प्रीप्रोसेसिंग - इस खंड में प्रीप्रोसेसर फाइलें हमारे कोड से जुड़ी होती हैं। हमने विभिन्न हेडर फाइलों जैसे stdio.h, math.h आदि का उपयोग किया है। ये फाइलें सी स्रोत कोड से जुड़ी हैं और अंतिम सी स्रोत उत्पन्न होता है। ('#include', '#define' ये प्रीप्रोसेसर निर्देश हैं।)
संकलक - प्रीप्रोसेस्ड सोर्स कोड जनरेट करने के बाद, यह कंपाइलर में चला जाता है और कंपाइलर पूरे प्रोग्राम को कंपाइल करने के बाद असेंबली लेवल कोड जेनरेट करता है।
असेंबलर - यह पार्ट कंपाइलर से असेंबली लेवल लैंग्वेज लेता है और ऑब्जेक्ट कोड जेनरेट करता है, यह कोड काफी हद तक मशीन कोड (बाइनरी डिजिट्स का सेट) से मिलता-जुलता है।
लिंकर - लिंकर संकलन प्रक्रिया का एक और महत्वपूर्ण हिस्सा है। यह ऑब्जेक्ट कोड लेता है और इसे अन्य लाइब्रेरी फाइलों से जोड़ता है, ये लाइब्रेरी फाइलें हमारे कोड का हिस्सा नहीं हैं, लेकिन यह कुल प्रोग्राम को निष्पादित करने में मदद करती है। लिंकर को जोड़ने के बाद अंतिम मशीन कोड उत्पन्न होता है जो निष्पादित करने के लिए तैयार है।
लोडर - एक प्रोग्राम, तब तक निष्पादित नहीं किया जाएगा जब तक कि इसे प्राथमिक मेमोरी में लोड नहीं किया जाता है। लोडर मशीन कोड को रैम में लोड करने में मदद करता है और इसे निष्पादित करने में मदद करता है। प्रोग्राम को क्रियान्वित करते समय प्रोसेस नाम दिया गया है। तो प्रक्रिया है (कार्यक्रम निष्पादन में)।