"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्टैक क्लीनअप के लिए कौन सा कॉलिंग कन्वेंशन जिम्मेदार है?

स्टैक क्लीनअप के लिए कौन सा कॉलिंग कन्वेंशन जिम्मेदार है?

2024-11-20 को प्रकाशित
ब्राउज़ करें:140

Which Calling Convention is Responsible for Stack Cleanup?

कॉलिंग कन्वेंशन: stdcall बनाम cdecl

प्रोग्रामिंग में, कॉलिंग कन्वेंशन परिभाषित करते हैं कि फ़ंक्शन के बीच पैरामीटर कैसे पारित किए जाते हैं। दो सामान्य कॉलिंग परंपराएँ stdcall और cdecl हैं।

1। cdecl फ़ंक्शन कॉलिंग

जब एक cdecl फ़ंक्शन कॉल किया जाता है, तो कॉल करने वाला स्टैक को साफ़ करने के लिए ज़िम्मेदार नहीं होता है। कंपाइलर फ़ंक्शन के कॉलिंग कन्वेंशन के आधार पर स्टैक क्लीनअप को संभालने के लिए कोड उत्पन्न करता है।

2। मिक्सिंग कॉलिंग कन्वेंशन

मिक्सिंग कॉलिंग कन्वेंशन की आमतौर पर अनुशंसा नहीं की जाती है। हालाँकि, कुछ मामलों में यह संभव है। उदाहरण के लिए, एक stdcall फ़ंक्शन cdecl फ़ंक्शन को कॉल कर सकता है, या इसके विपरीत। यह उस कोड में हो सकता है जो विंडोज एपीआई के साथ इंटरैक्ट करता है, क्योंकि WinAPI फ़ंक्शन stdcall कन्वेंशन का उपयोग करते हैं जबकि C प्रोग्राम डिफ़ॉल्ट रूप से cdecl का उपयोग करते हैं।

3. प्रदर्शन तुलना

stdcall और cdecl के बीच कोई महत्वपूर्ण प्रदर्शन अंतर नहीं है। अधिकांश मामलों में दोनों सम्मेलन समान मात्रा में ओवरहेड का उपयोग करते हैं। हालाँकि, विशिष्ट कंपाइलर और प्लेटफ़ॉर्म के आधार पर कुछ अनुकूलन उपलब्ध हो सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729684036 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3