यहां हम देखेंगे कि एक कोड कैसे लिखना है जहां दो फ़ंक्शन मौजूद हैं, और एक फ़ंक्शन मुख्य फ़ंक्शन से पहले निष्पादित किया जाएगा, और दूसरा फ़ंक्शन मुख्य फ़ंक्शन के बाद निष्पादित किया जाएगा। इन सुविधाओं का उपयोग मुख्य को निष्पादित करने से पहले कुछ स्टार्टअप कार्य करने के लिए किया जाता है, और मुख्य को निष्पादित करने के बाद कुछ सफाई कार्य करने के लिए किया जाता है।
इस कार्य को करने के लिए हमें इन दो कार्यों के लिए विशेषताएँ डालनी होंगी। जब विशेषता कंस्ट्रक्टर विशेषता है, तो इसे मुख्य () से पहले निष्पादित किया जाएगा, और जब विशेषता विनाशक प्रकार है, तो इसे मुख्य () के बाद निष्पादित किया जाएगा।
उदाहरण कोड
#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.