से बाहर निकलने पर एक और फ़ंक्शन कॉल करें जब मुख्य() सी में बाहर निकलता है तो अतिरिक्त कार्य को कॉल करना संभव है?मुख्य()
धन्यवाद!
से बाहर निकलने पर एक और फ़ंक्शन कॉल करें जब मुख्य() सी में बाहर निकलता है तो अतिरिक्त कार्य को कॉल करना संभव है?मुख्य()
धन्यवाद!
the atexit
function का उपयोग करके बाहर निकलने के लिए आप फ़ंक्शन पंजीकृत कर सकते हैं।
एमएसडीएन में यह कैसे किया जाता है a nice succinct example है। असल में, atexit
के साथ पंजीकृत फ़ंक्शंस को पंजीकृत होने के विपरीत क्रम में निष्पादित किया जाता है।
void myfunc() {
/* Called when the program ends */
}
int main(int arc, char *argv[]) {
atexit(myfunc);
...
return 0;
}
atexit()
समारोह की कोशिश करो। बस एक साइड नोट। डेल्फी पुस्तकालयों में इसी तरह की सुविधा के दुरुपयोग ने उन अनुप्रयोगों को जन्म दिया जो करीब से धीमे गति से धीमे होते हैं।
ग्रेट सवाल और जवाब:
जबकि atexit()
प्रक्रिया समाप्ति पर चलाने के लिए एक समारोह के पंजीकरण के लिए मानक है, जीसीसी एक नाशकfunction attributeप्रदान करता है * एक समारोह का कारण बनता है कि जब main()
पूरा कर लिया है या exit()
बुलाया गया है स्वचालित रूप से कहा जाता है।
void __attribute__ ((destructor)) my_fini(void);
* जीसीसी विशिष्ट
वास्तव में अच्छा जवाब :) – SjB
कभी कभी एक अंधे गिलहरी एक नट ... –
सिर्फ मैं क्या जरूरत है, धन्यवाद पाता है! – edarroyo