2010-07-05 14 views
12

विजुअल C++ में, एक हेडर फाइल जहां किसी भी नाम (चर या प्रकार) उस पर F12 दबाने या परिभाषा के लिए चुनने जाओ द्वारा परिभाषित है पा सकते हैं। यह सुविधा बहुत उपयोगी है, लेकिन यह केवल अंतिम स्थान (हेडर फ़ाइल) दिखाती है जहां नाम परिभाषित किया गया है। क्या चेन हेडर फाइलों का पता लगाने का कोई तरीका है जो किसी दिए गए नाम के लिए मेरी स्रोत फ़ाइल से अंतिम शीर्षलेख फ़ाइल में ले जाता है? अगर मैं ऊपर main.cpp में size_t की परिभाषा को देखने के 2010 ++ विज़ुअल सी मेंसी/सी ++: किसी दिए गए परिभाषा के लिए हेडर फ़ाइलों की श्रृंखला का आकलन कैसे करें?

// main.cpp  
#include <stddef.h> 
int main() 
{ 
    size_t s; 
    return 0; 
} 

, यह मुझे कुछ sourceannotations.h नाम की फ़ाइल में भूमि:

उदाहरण के लिए, इस कोड पर विचार करें। मुझे पता है कि यह हेडर श्रृंखला stddef.h (जिसे मैंने शामिल किया है) से शुरू होता है और sourceannotations.h में समाप्त होता है। इस श्रृंखला के बीच में लिंक कैसे पता लगाएं?

+1

यदि आप ऐसा करने के लिए विजुअल स्टूडियो (टीएम) या विजुअल स्टूडियो (टीएम) प्रमाणित (आर) प्लगइन में हॉटकी की तलाश में हैं, तो आपको शायद अपने प्रश्न को विजुअल स्टूडियो (टीएम) से संबंधित एक टैग करना चाहिए टैग ... –

+0

पावेल: मैं ऐसी हॉटकी की तलाश नहीं कर रहा था। लेकिन, इसे किसी भी तरह से वीएस के साथ टैग करेगा क्योंकि इस तरह का समाधान भी उपयोगी होगा :-) –

उत्तर

12
  1. राइट क्लिक करें परियोजना, "प्रोजेक्ट गुण"
  2. "विन्यास गुण" -> "C/C++" -> "उन्नत"।
  3. "हां" में "शामिल करें" सेट करें।

जब आप प्रत्येक फ़ाइल संकलित करते हैं तो शीर्षलेखों का पूरा पदानुक्रम आउटपुट विंडो में मुद्रित किया जाएगा।

+0

यह काम करता है! यह एक निश्चित नाम के लिए श्रृंखला नहीं दिखाता है, लेकिन लगभग मेरी ज़रूरत के अनुरूप है। धन्यवाद! :-) –

+0

उत्सुकता के लिए, वीसी ++ 2010 में size_t के लिए हेडर श्रृंखला निम्न हो गई: stddef.h -> crtdefs.h -> sal.h -> sourceannotations.h –

+1

@ अश्विन: आपको सटीक नहीं मिलेगा निर्भरताओं की श्रृंखला, क्योंकि शीर्षलेख कई स्थानों से शामिल किया जा सकता है। इससे भी बदतर, सी ++ डुप्लिकेट टाइपपीफ को उसी प्रकार की अनुमति देता है। अब आपके पास एक श्रृंखला के बजाय एक पेड़ है। –

1

आप रिवर्स इंजीनियरिंग उपकरण जैसे डॉक्सिजन, समझना विश्लेषक इत्यादि का उपयोग कर सकते हैं। इससे आपको चर, फंक्शन कॉल के पूर्ण प्रवाह को समझने में मदद मिलेगी।

+0

+1 सी/सी ++ के लिए समझने के संदर्भ में +1, लेकिन यह अभी भी आपको समझने के लिए चार्ट शामिल करने की आवश्यकता है और प्रत्येक शामिल होने पर क्लिक-ओपन करें आपको उस फ़ाइल को शामिल किया गया है जहां परिवर्तनीय/प्रकार/निरंतर वास्तव में परिभाषित किया गया है। तो, अभी भी मैन्युअल काम के बहुत सारे। लेकिन, दूसरी तरफ, वास्तव में बहुत अच्छी उपयोगिता। – Patrick

1

आपके गुण संवाद में, सी/सी ++, प्रीप्रोसेसर के तहत, एक फ़ाइल को प्रीप्रोसेस सक्षम करें। यदि आप main.cpp संकलित करते हैं, तो यह main.i उत्पन्न करेगा।

फिर आप main.i में देख सकते हैं और देख सकते हैं कि कौन सी फ़ाइल में अन्य फ़ाइल शामिल है।

+0

यह मेरा प्रारंभिक विचार था (/ पी कंपाइलर विकल्प का उपयोग करके), लेकिन जेनरेट की गई .i फ़ाइल से मुझे लगता है कि वास्तविक 'चेन' क्या है, यह देखना अभी भी मुश्किल है। – Patrick

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