2012-01-22 27 views
8

मैं समझता हूं कि एक वर्ग में VTABLE होगा, यदि इसमें कम से कम एक वर्चुअल फ़ंक्शन शामिल है। मैं VTABLE की सामग्री देखना चाहता हूं। क्या इसे प्रदर्शित करने का कोई तरीका है?जीसीसी के माध्यम से सी ++ कक्षा के VTABLE को कैसे प्रदर्शित करें?

विशेष रूप से, gcc में कक्षा का VTABLE प्रदर्शित करने के लिए कोई विकल्प है?

उत्तर

16

यदि इनपुट फ़ाइल layout.cpp कहती है, तो gcc -fdump-class-hierarchy layout.cpp कमांड layout.cpp.class फ़ाइल का उत्पादन करेगी। यह फ़ाइल कुछ अन्य उपयोगी जानकारी के साथ VTABLE प्रदर्शित करेगी।

+0

क्या आप सुनिश्चित हैं कि हमें जीसीसी का उपयोग करना चाहिए या हमें C++ – user2760375

+0

के लिए g ++ का उपयोग करना चाहिए, इसकी g ++ gcc नहीं है। – sagar

2

मान लीजिए कि इसमें वास्तव में एक वी-टेबल होगा (यह संकलक निर्भर है, और मानक द्वारा आवश्यक या निर्धारित नहीं है) - आप इसे अपने डीबगर के साथ देख सकते हैं।

आप ऐसा क्यों करेंगे? यदि आप जिज्ञासा के अलावा किसी भी चीज़ के लिए इस पर भरोसा कर रहे हैं - तो नहीं है।

+0

जिज्ञासा से बाहर हाँ। क्या vtable प्रदर्शित करने के लिए जीसीसी में कोई विकल्प है? –

+0

@LinuxPenseur आपको जीडीबी का मतलब होना चाहिए। मुझे नहीं पता। मुझे पता है कि विजुअल स्टूडियो पर मैंने देखा कि यह थोड़ी देर में दिखाई दे रहा था जब मैं कक्षाओं का निरीक्षण कर रहा था। मुझे लगता है कि यह इस बात पर निर्भर करता है कि जीसीसी किस प्रतीक से जुड़ा है और क्या आप उस प्रतीक को पा सकते हैं। – littleadv

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^