2009-07-13 13 views
8

मेरे पास एक बहुत बड़ी परियोजना है जिसमें कई घुलनशील हेडर फाइलें हैं जिनमें सभी एक-दूसरे को शामिल करते हैं। तीसरे पक्ष के पुस्तकालयों की एक बड़ी संख्या भी है जो यह निर्भर करती है। मैं गड़बड़ी को सीधा करने की कोशिश कर रहा हूं, लेकिन मुझे कुछ परेशानी हो रही है, क्योंकि बहुत समय मैं केवल एक # अंतर्निहित निर्देश को हटा दूंगा ताकि यह पता चल सके कि इसमें जो सामान शामिल था, वह अभी भी अन्य फ़ाइलों में से एक के माध्यम से शामिल है । क्या कोई ऐसा उपकरण है जो मुझे समझने में मदद कर सकता है? मैं वास्तव में एक .h फ़ाइल पर क्लिक करने में सक्षम होना चाहता हूं और पूछता हूं कि इसमें कौन सी सीपीपी फाइलें शामिल हैं (सीधे या परोक्ष रूप से), और जिस पथ के माध्यम से इसे शामिल किया गया है, और इसी प्रकार एक सीपीपी फ़ाइल पर क्लिक करें और उससे पूछें। एच फाइलें शामिल हैं (सीधे और परोक्ष रूप से)। मैंने कभी ऐसा टूल नहीं सुना है जो ऐसा करता है, और थोड़ा तेज़ गुगलिंग कुछ भी नहीं बदला है, लेकिन शायद मुझे नहीं पता कि क्या खोजना है।सी ++ में फ़ाइल ब्राउज़र शामिल है

+0

यहां एक समान पोस्ट है: [http://stackoverflow.com/questions/74326/how-should-i-detect-unnecessary-include-files-in-a-large-c-project ](http: //stackoverflow.com/questions/74326/how-should-i-detect-unnecessary-include-files-in-a-large-c-project) – Alex

उत्तर

4
+0

मुझे बंद स्रोत गैर-मुक्त टूल की सिफारिश करने के बारे में कुछ बुरा लगता है, लेकिन यह मेरे प्रश्न का सबसे अच्छा जवाब है। यह मुझे बहुत कुछ चाहिए जो मुझे चाहिए, और यह बहुत महंगा नहीं है। मेरे मालिक ने अधिकांश विभागों के लिए लाइसेंस खरीदने का फैसला किया। – rmeador

+0

मैं सिर्फ एक प्रभावित उपयोगकर्ता हूँ! मैंने अभी तक लाइसेंस नहीं खरीदा है और मैंने केवल परीक्षण अवधि के दौरान इसका इस्तेमाल किया है, लेकिन अब तक यह बहुत उपयोगी रहा है। –

3

अगर आप जीसीसी संकलक का उपयोग करें, इस

g++ -M abc.cpp 

यह सब फ़ाइल abc.cpp

+0

मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा हूं। – rmeador

4

VS2003 के लिए के लिए निर्भरता शामिल दिखाएगा कोशिश है/showIncludes ध्वज (C/C++/उन्नत गुण में)। यह सभी शीर्षकों को मुद्रित करेगा प्रत्येक .cpp फ़ाइल में शामिल हैं और वे क्या शामिल हैं, ताकि आप वहां से जा सकें।

मुझे यकीन है कि वीएस -2008 के लिए एक ही स्थान पर वही विकल्प है।

+0

यह VS2008 के लिए मौजूद है, एक ही स्थान पर। यह बहुत आशाजनक लग रहा है। यह मुझे यह भी बताता है कि मेरा काम कहीं अधिक कठिन है ... – rmeador

0

आपकी स्थिति मुझे अपने आप को याद दिलाती है। मेरे पास हेडर का एक गुच्छा है जिसे मैंने बनाया है जिसे मैं एक डीएलएल के साथ परेशान करने के बजाय लाइब्रेरी के रूप में उपयोग करता हूं।

बेशक

चक्रीय-शामिल परेशानी बन सकता है, इसलिए मुझे लगता है दृश्य की तरह एक उपकरण असिस्ट कि एक्स(1) बात की इस तरह के साथ मदद करता है। इसमें एक ऐसा फ़ंक्शन है जो सामानों के संदर्भ ढूंढ सकता है, ताकि आप आसानी से बाहर निकल सकें जहां कुछ परिभाषित/घोषित/शामिल किया जा रहा है आदि। इसमें कई अन्य उपयोगी विशेषताएं भी हैं, इसलिए मैं इसे बहुत उपयोगी मानता हूं।

शायद अन्य टूल्स/प्लगइन्स हैं जिनमें एक संदर्भ समारोह है, लेकिन आम तौर पर उपयोगिता के अन्य रिफैक्टरिंग और उत्पादकता कार्यों के बीच एक विशेषता के रूप में।

HTH

0

यह बहुत कठिन है, लेकिन आप जहां एक # शामिल #Error (और #pragma संदेश) का उपयोग को सीमित करने के द्वारा होता है के लिए अपना रास्ता बायनरी-खोज कर सकते हैं जो लाइन खींच रहा है शामिल तीसरे पक्ष में। मैंने इसे एक ऐसी फ़ाइल के मामले में किया है जिसे मैं ट्रैक करने का प्रयास कर रहा था, लेकिन ऐसा लगता है कि आपकी समस्या बड़ी है, इसलिए शायद दूसरों के उल्लेख किए गए टूल में से एक अधिक प्रभावी होगा।

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