के साथ मेमोरी हैंडलिंग मैं epoll library के साथ सी में एक सर्वर विकसित कर रहा हूं और मेरे पास एक प्रश्न है कि struct epoll_event
के लिए स्मृति को कैसे प्रबंधित किया जाता है।स्ट्रक्चर epoll_event
struct epoll_event ev;
ev.events = EPOLLIN;
epoll_ctl(epfd, EPOLL_CTL_ADD, sockfd, &ev);
अब हम सभी जानते हैं ev
जब करने के लिए होता है: मुझे लगता है कि, जब epoll_ctl
कॉल करने, events
तर्क ढेर पर है, इसलिए की तरह आवंटित किया जाता है और फिर सूचक पारित हो जाता है कुछ ऑनलाइन उदाहरण में देखा है समारोह रिटर्न। मेरा सवाल है: क्या एपोल लाइब्रेरी आंतरिक रूप से इन मानों की प्रतियां बनाती है या क्या यह आपके द्वारा आवंटित ढेर के लिए पारित संरचना पर भरोसा करती है? क्या उपर्युक्त उदाहरण पूरी तरह से मेरे रिएक्टर कार्यान्वयन को तोड़ देगा? यदि हां, तो epoll_event
structs आवंटित मेरे ढेर का ट्रैक रखने का सबसे अच्छा तरीका क्या है?
आपके समय के लिए धन्यवाद।
यदि "हम सभी जानते हैं कि क्या होता है", तो आप क्यों पूछते हैं? –
जब मैं कहता हूं "हम सभी जानते हैं कि क्या होता है" मेरा मतलब है कि फ़ंक्शन आवंटित होने पर स्टैक आवंटित स्मृति जारी की जाती है। –