Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में main() से पहले और बाद में निष्पादित होने वाले फ़ंक्शंस

यहां हम देखेंगे कि कैसे एक कोड लिखा जाए जहां दो फ़ंक्शन मौजूद हों, और एक फ़ंक्शन main फ़ंक्शन से पहले निष्पादित होगा, और दूसरा फ़ंक्शन main फ़ंक्शन के बाद निष्पादित होगा। इन सुविधाओं का उपयोग main() निष्पादित करने से पहले कुछ स्टार्टअप कार्य करने के लिए और main() निष्पादित करने के बाद कुछ क्लीनअप कार्य करने के लिए किया जाता है।

यह कार्य करने के लिए हमें इन दो फ़ंक्शंस के लिए एट्रिब्यूट लगाना होगा। जब एट्रिब्यूट कंस्ट्रक्टर एट्रिब्यूट होता है, तो यह main() से पहले निष्पादित होगा, और जब एट्रिब्यूट डिस्ट्रक्टर प्रकार का होता है, तो यह main() के बाद निष्पादित होगा।

उदाहरण कोड

#include <stdio.h>

void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));

void before_main() {
   printf("यह main से पहले निष्पादित होता है।\n");
}

void after_main() {
   printf("यह main के बाद निष्पादित होता है।");
}

int main() {
   printf("main के अंदर\n");
   return 0;
}

आउटपुट

यह main से पहले निष्पादित होता है।
main के अंदर
यह main के बाद निष्पादित होता है।

नोट: यह फीचर GCC कंपाइलर के लिए विशिष्ट है और मानक C का हिस्सा नहीं है।

  1. Mac को रीफॉर्मेट करने से पहले और बाद में करने योग्य 5 काम Mac को रीफॉर्मेट करने से पहले और बाद में करने योग्य 5 काम

    अपने Mac की हार्ड ड्राइव को वाइप करना कुछ साल पहले की तुलना में एक अलग काम है। यदि आप macOS Big Sur का उपयोग करते हैं, तो आपके पास रिकवरी टूल है। इस तरह, अपने Mac को रीफॉर्मेट करना हाल के दिनों की तुलना में अधिक सरल है। इस पोस्ट में, हम आपको अपने Mac को रीफॉर्मेट करने से पहले करने योग्य कार्यों की

  1. 5 Arch Linux डिस्ट्रो जो इंस्टॉल और उपयोग करने में आसान हैं 5 Arch Linux डिस्ट्रो जो इंस्टॉल और उपयोग करने में आसान हैं

    Arch Linux शायद सबसे गीक्स के लिए Linux वितरणों में से एक है, जो हर उस aficionado के लिए एक आनंददायक अनुभव प्रदान करता है जो Linux की क्षमता की सीमाओं को आगे बढ़ाना चाहता है। इसकी प्रकृति और लक्ष्य उपयोगकर्ता इसे उपयोग करने और इंस्टॉल करने में चुनौतीपूर्ण बनाते हैं, एक तीखी सीखने की अवस्था के साथ जो

  1. 8 सर्वश्रेष्ठ विकेन्द्रीकृत और ब्लॉकचेन-आधारित सोशल नेटवर्किंग साइटें 8 सर्वश्रेष्ठ विकेन्द्रीकृत और ब्लॉकचेन-आधारित सोशल नेटवर्किंग साइटें

    Facebook, Twitter, और LinkedIn जैसी प्रमुख सोशल नेटवर्किंग सेवाएं पूरी तरह से केंद्रीकृत हैं - वे सभी डेटा संग्रहीत करती हैं, उपयोगकर्ता अनुभव को इच्छानुसार बदल सकती हैं, और उनके प्लेटफॉर्म पर होने वाली हर चीज के प्रभारी हैं। गोपनीयता, सेंसरशिप, और मॉडरेशन जैसी चीजों के लिए इसके काफी स्पष्ट निहितार