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

एट्रिब्यूट ((कंस्ट्रक्टर)) और एट्रीब्यूट ((डिस्ट्रक्टर)) सिंटैक्स सी में ट्यूटोरियल पॉइंट में?

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

इस कार्य को करने के लिए हमें इन दो कार्यों के लिए विशेषताएँ डालनी होंगी। जब विशेषता कंस्ट्रक्टर विशेषता है, तो इसे मुख्य () से पहले निष्पादित किया जाएगा, और जब विशेषता विनाशक प्रकार है, तो इसे मुख्य () के बाद निष्पादित किया जाएगा।

हम जीसीसी कार्यों का उपयोग कर रहे हैं। फ़ंक्शन __attribute__() है। इस मामले में हम दो अलग-अलग विकल्पों का उपयोग कर रहे हैं। कंस्ट्रक्टर और डिस्ट्रक्टर __attribute__() फ़ंक्शन के साथ। सिंटैक्स __attribute__((constructor)) प्रोग्राम शुरू होने पर किसी फ़ंक्शन को निष्पादित करने के लिए उपयोग किया जाता है। और सिंटैक्स __attribute__((destructor)) का उपयोग फ़ंक्शन को निष्पादित करने के लिए किया जाता है जब main() फ़ंक्शन पूरा हो जाता है। बेहतर विचार प्राप्त करने के लिए कृपया उदाहरण देखें।

उदाहरण

#include <stdio.h>
void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));
void before_main() {
   printf("This is executed before main.\n");
}
void after_main() {
   printf("This is executed after main.");
}
main() {
   printf("Inside main\n");
}

आउटपुट

This is executed before main.
Inside main
This is executed after main.

  1. ऑब्जेक्ट लिटरल और कंस्ट्रक्टर फ़ंक्शन का उपयोग करके बनाई गई वस्तुओं के बीच मुख्य अंतर क्या है?

    ऑब्जेक्ट लिटरल का उपयोग करके बनाए गए ऑब्जेक्ट सिंगलटन . हैं , इसका मतलब है कि जब वस्तु में कोई परिवर्तन किया जाता है, तो यह पूरी लिपि में वस्तु को प्रभावित करता है। जबकि अगर कोई ऑब्जेक्ट कंस्ट्रक्टर फ़ंक्शन का उपयोग करके बनाया गया है और उसमें कोई परिवर्तन किया गया है, तो वह परिवर्तन पूरी स्क्रिप्ट म

  1. किसी फ़ंक्शन को फ़ंक्शन और विधि के रूप में कैसे आमंत्रित करें?

    फ़ंक्शन और मेथड के रूप में फंक्शन को इनवोक करने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&

  1. जावास्क्रिप्ट में विनाशकारी और कार्य पैरामीटर

    जावास्क्रिप्ट में फ़ंक्शन पैरामीटर को नष्ट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&