क्या C++ में वर्तमान फ़ंक्शन नाम प्राप्त करने का कोई तरीका है? मैं कुछ फ़ंक्शन कॉल ऑर्डर ट्रैक करना चाहता हूं। क्या __FILE__
या __LINE__
जैसी कोई चीज़ है?सी ++ वर्तमान फ़ंक्शन नाम स्ट्रिंग
धन्यवाद!
क्या C++ में वर्तमान फ़ंक्शन नाम प्राप्त करने का कोई तरीका है? मैं कुछ फ़ंक्शन कॉल ऑर्डर ट्रैक करना चाहता हूं। क्या __FILE__
या __LINE__
जैसी कोई चीज़ है?सी ++ वर्तमान फ़ंक्शन नाम स्ट्रिंग
धन्यवाद!
उपयोग
__FUNCTION__
//or
__PRETTY_FUNCTION__
या यदि आप जल्द ही होने वाली है (sic) C++ 0x मानक के साथ संगत होना चाहता हूँ,, __func__
का उपयोग अपने संकलक यह (जीसीसी करता है) का समर्थन करता है, जो होगा पोर्टेबल हो।
या, आप _current_ मानक के साथ संगत होना चाहते हैं: '#ifdef MYFN',' #undef MYFN', '# endif',' _FFINE MYFN nameofmyfunction' आपके द्वारा लिखे गए प्रत्येक कार्य से पहले :-) – paxdiablo
धन्यवाद, यह काम करता है :) यह उन कार्यों को प्रस्तुत करने के लिए बहुत उपयोगी है जिन्हें आप ब्रेकपॉइंट्स के साथ अच्छा डीबग नहीं कर सकते – Felics
क्या यह मैक्रो जीसीसी के अलावा अन्य कंपाइलर्स के साथ संगत है? – Sampath
@Sampath, क्योंकि यह मानक नहीं है, इसकी कोई गारंटी नहीं है, लेकिन यह उदाहरण के लिए माइक्रोसॉफ्ट कंपाइलर के लिए msdn दस्तावेज़ों में सूचीबद्ध है। तो मुझे लगता है कि यह ज्यादातर कंपाइलरों में समर्थित है। हालांकि __func__ का उपयोग करना बेहतर हो सकता है क्योंकि इस मैक्रो को मानक में परिभाषित किया गया है और सार्वभौमिक रूप से समर्थित होना चाहिए। – Vladimir