इस सेक्शन में हम देखेंगे कि C और C++ में exit() और _Exit() के बीच क्या अंतर हैं। C में exit() शेष कोड को निष्पादित किए बिना कॉलिंग प्रोसेस को समाप्त कर देता है जो exit() फंक्शन के बाद मौजूद होता है।
C++11 में, एक नया फंक्शन मौजूद है जिसे _Exit() कहा जाता है। तो इस फंक्शन की विशेषता क्या है? exit() फंक्शन प्रोग्राम को समाप्त करने से पहले कुछ सफाई करता है। यह कनेक्शन टर्मिनेशन, बफर फ्लश आदि को क्लियर करता है। यह _Exit() फंक्शन कुछ भी साफ नहीं करता। यदि हम atexit() मेथड का उपयोग करके टेस्ट करते हैं, तो यह काम नहीं करेगा।
आइए दो उदाहरण देखें जहां पहले हम exit() फंक्शन का उपयोग कर रहे हैं, फिर अगले में _Exit() का।
उदाहरण 1 (exit() का उपयोग)
#include <bits/stdc++.h>
using namespace std;
void my_function(void) {
cout << "Exiting from program";
}
int main() {
atexit(my_function);
exit(10);
}
आउटपुट
Exiting from program
उदाहरण 2 (_Exit() का उपयोग)
#include <bits/stdc++.h>
using namespace std;
void my_function(void) {
cout << "Exiting from program";
}
int main() {
atexit(my_function);
_Exit(10);
}
आउटपुट
इस मामले में आउटपुट ब्लैंक है। कुछ भी नहीं आया।