2008-09-16 7 views
9

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

उत्तर

12

आप SourceInsight से बेहतर कुछ नहीं प्राप्त कर सकते हैं।

+0

पूरी तरह से सहमत हैं :) – prakash

+2

SourceInsight केवल विंडोज़ है, नहीं? ओपी ने कहा कि वे लिनक्स का उपयोग कर रहे थे। –

6

मैंने OpenGrok के बारे में अद्भुत बातें सुनी हैं। मुझे पता है कि मेरे नियोक्ता के स्थान पर एक और टीम इसका उपयोग करती है और उन्हें बहुत आसानी से मिलती है। अपनी वेब साइट से:

OpenGrok एक तेज और उपयोगी स्रोत कोड खोज और पार संदर्भ इंजन है। यह आपको क्रॉस-रेफरेंस खोजने में मदद करता है और आपके स्रोत पेड़ पर नेविगेट करता है। यह विभिन्न प्रोग्राम फ़ाइल स्वरूप और संस्करण नियंत्रण इतिहास जैसे Mercurial, Git, SCCS, RCS, CVS, Subversion, Teamware, ClearCase, Perforce और Bazaar समझ सकता है। अन्य शब्दों में यह आपको (गहराई से समझता है) खुले स्रोत, इसलिए ओपनग्राक नाम देता है। यह जावा में लिखा गया है।

7

मैं ctags और taglist प्लग इन के साथ Vim का उपयोग करें। आप कर्सर को एक चर नाम पर ले जा सकते हैं और एक महत्वपूर्ण संयोजन के साथ यह आपको चर (और पीछे) की घोषणा में ले जाएगा। टैगलिस्ट एक साइड बार में सभी कार्यों, कक्षाओं आदि का एक अवलोकन भी दिखाएगी।

4

Eclipse आईडीई जावा के अलावा सी/सी ++ के साथ काम करने में सक्षम है। आईबीएम की डेवलपर वर्क्स साइट पर सी/सी ++ विकास के लिए एक्लिप्स को कॉन्फ़िगर करने के तरीके पर write-up है।

संपादित करें: इसे क्यों वोट दिया गया है? यह एक वैध जवाब है। सी/सी ++ एडन के साथ ग्रहण प्रश्न लेखक को ऐसा करने की अनुमति देगा जो वह करना चाहता है। मैं सुझाव देने वाला अकेला नहीं हूं, फिर भी दूसरों को वोट नहीं दिया गया है। तो यह क्यों मतदान किया गया है?

1

यदि आप कुछ सरल और सर्वव्यापी खोज रहे हैं, तो etags आज़माएं। यह हेवीवेट उपकरण के रूप में उतना अच्छा नहीं होगा, लेकिन यह काफी कुछ पर है और यह emacs के साथ काम करता है। Vi के लिए ctags का प्रयोग करें।

0

इंटेलिजेन लिनक्स के तहत एक स्रोत ब्राउज़र के रूप में बहुत अच्छा है। स्रोत और कार्य घोषणाओं के बीच कूदने के लिए यह वास्तव में अच्छा समर्थन मिला है। सी/सी ++ कोड के साथ कोशिश नहीं की है, लेकिन यह रूबी और जावा के साथ अच्छी तरह से काम करता है।

0

मैंने इसे सीधे उपयोग नहीं किया है, लेकिन मैंने lxr के साथ बनाई गई साइटों का उपयोग किया है और इसे बहुत आसान माना है। यह क्रॉस-रेफरेंस फ़ंक्शन और फ़ाइल नामों के लिंक का उपयोग करके, आपकी परियोजना को लाइन-क्रमांकित और क्रॉस-रेफरेंस किए गए HTML फ़ाइलों में परिवर्तित करता है। here के साथ अनुक्रमित परियोजना स्रोतों के कुछ उदाहरण हैं।

ऐसा नहीं लगता है कि 2006 से नया संस्करण है, लेकिन यह अभी भी आप जो चाहते हैं उसके लिए काम कर सकता है।

0

मैं अंजुता आईडीई का उपयोग करता हूं। बुरा नहीं। यह सुनिश्चित नहीं है कि यह ग्रहण आईडीई से कैसे तुलना करता है।

7

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

0

कोई भी आईडीई ठीक काम करेगा। नेटबीन्स और एक्लिप्स जावा आधारित हैं लेकिन सी/सी ++

3

के लिए प्लगइन हैं I कर्नेल स्पेस में थोड़ा सा करते हैं, और दायरे को वापस आते रहते हैं।

उदाहरण के लिए:

$ सीडी/usr/src/redhat/निर्माण/कर्नेल संस्करण

$ cscope आर -p4

Find this C symbol: 
    Find this function definition: 
    Find functions called by this function: 
    Find functions calling this function: 
    Find this text string: 
    Change this text string: 
    Find this egrep pattern: 
    Find this file: 
    Find files #including this file: 

मैं आमतौर पर "लाइव" ग में किसी एल्स परियोजना पर काम करते समय गुंजाइश। मैं इसे "gvim" (मेरी आईडीई) के साथ फ़ाइलों को खोलने के लिए उपयोग करता हूं, चीजों को संपादित करता हूं, फिर सी-स्कोप में "वापस" छोड़ देता हूं, यह मुझे कार्य केंद्रित करने में मदद करता है।

मेरा मानना ​​है कि सीएसकोप को विम और एमएक्स के साथ काम करने के लिए कॉन्फ़िगर किया जा सकता है, हालांकि मैंने लोगों को अन्य संपादकों का भी उपयोग किया है।

आपको शुभकामनाएं।

0

मैं केस्कोप का उपयोग करता हूं, जो पृष्ठभूमि में सीस्कोप का उपयोग करता है, लेकिन फ़ंक्शन सूचियां भी प्रदान करता है। लगता है कि लिनक्स कर्नेल जैसी बड़ी परियोजनाओं को भी संभालने के लिए लगता है। kscope homepage का यह एक अच्छा संक्षिप्त विवरण है जो यह करता है और नहीं करता है।

0

सीएससीओपी हमेशा मेरा पसंदीदा रहा है। Cbrowser भी है, लेकिन मैंने कोशिश नहीं की है। ctags भी बहुत उपयोग किया जाता है।

1

ctags बहुत उपयोगी है। इसमें दो कदम शामिल हैं। सबसे पहले अपने सभी स्रोतों पर प्रोग्राम ctags चलाएं और निर्देशिकाएं शामिल करें। यह स्थानीय निर्देशिका में 'टैग' नाम की एक फ़ाइल बनाता है। ctags * .c * .h ठीक होगा अगर आपका सभी स्रोत एक निर्देशिका में है। जब आप एकाधिक निर्देशिकाओं में स्रोत के साथ काम करते हैं, तो यह कई स्थानों पर चलने वाले ctags के लायक हो सकता है। फिर, vi के भीतर, किसी भी फ़ंक्शन पर परिभाषित प्रकार या परिवर्तनीय उपयोग ctl-] उस कर्सर की परिभाषा पर जाने के लिए अपने कर्सर के साथ। यदि आप emacs का उपयोग कर रहे हैं तो etags का उपयोग करें।

1

मैं doxygen के उपयोग का समर्थन करता हूं।

इस टूल ने एचटीएमएल पृष्ठों के समूह की तरह एक जवाडोक उत्पन्न किया, जिसमें सभी कोडों को इंडेक्स करने की इजाजत दी गई, इसमें ब्राउज़ करने के लिए (यह फ़ंक्शन कहां उपयोग किया जाता है, और किस फ़ंक्शन ...), जैसे आप आईडीई में कर सकते हैं। इसे काम करना बहुत आसान है।

मुझे एक बार 15 साल की सी परियोजना के सी कोड की 2000 फाइलें बनाए रखने के लिए था। मुझे डॉक्सिजन के साथ कोड को इंडेक्स करने में एक घंटा लगा, जो उत्पन्न दस्तावेज़ के साथ अन्य डेवलपर्स प्रदान करता है। (मुझे पता है, यह वाक्यांश एक जोड़ की तरह लगता है, लेकिन यह सच है ... यह वास्तव में एक अच्छा उपकरण है)

एक अद्भुत उपकरण, जो सभी सी-जैसी भाषाओं पर काम करता है।

0

मैं Understand for C++ का उपयोग करता हूं। बड़ी मात्रा में कोड से निपटने के लिए यह बहुत ही आसान टूल है। यह कोड आंकड़ों की गणना भी कर सकता है और कॉल ग्राफ़ खींच सकता है। होना चाहिए!

0

मुझे डॉक्सिजन का उपयोग करके बड़ी सफलता मिली है।सर्वोत्तम परिणामों के लिए (विशेष रूप से जब सी ++ के लिए प्रलेखन बनाते हैं) ग्राफ़विज़ स्थापित करें और अपनी डॉक्सिजन कॉन्फ़िगरेशन फ़ाइल में सक्षम करें।

यह स्वचालित रूप से निर्भरता मानचित्र और कक्षा आरेख उत्पन्न करेगा जो शेष HTML दस्तावेज़ों से जुड़े हुए हैं।

0

यहां तक ​​कि अगर आप एक डेवलपर Source Insight

के लिए जाते हैं और अगर आप कर रहे हैं, इसकी एक है चाहिए नहीं कर रहे हैं :)

1

Doxygen अद्भुत है। मुझे कई विरासत कोड अड्डों में जाना पड़ा है जिन्हें मैं पहले कभी शामिल नहीं था, और इसके लिए यह शानदार रहा है (भले ही कोड बेस को डॉक्सिजन प्रारूप का उपयोग करके दस्तावेज नहीं किया गया हो)।

0

सीएससीओपी। (अन्य स्कोप पोस्ट को संशोधित करना चाहता था, लेकिन मेरे पास अभी तक कर्म नहीं है)।

  • वैश्विक खोज और की जगह
  • सभी स्थानों एक समारोह
  • कहा जाता है खोजने के सभी स्थानों में एक समारोह से बुलाया
  • इस फाइल सहित फ़ाइलों को ढूंढने में पाते हैं।

बहुत आसान उपयोग: $ cscope आर

अगर आप vi पता नहीं है, तो अपनी पसंद के संपादक करने के लिए अपने संपादक और दर्शक के पर्यावरण चर बदल जाते हैं।

0

मुझे ID Utils काफी आसान लगता है। यह एक त्वरित रिकर्सिव grep की तरह है। इसके साथ जाने के लिए विम व्यंजनों का गुच्छा है।

1

Doxygen के लिए जाएं और YES को EXTRACT_ALL सेट करें। यह बस शक्तिशाली और आसान है। एक बार जब आप इसे प्यार करते हैं, तो आप इसे सभी प्लेटफार्मों और भाषाओं में चिपके रह सकते हैं।

http://www.doxygen.org

0

मैं का उपयोग करें और मुफ्त सॉफ्टवेयर उपकरण GNU global की तरह।

0

एक भाषा-संवेदनशील स्रोत कोड खोज इंजन SD Source Code Search Engine पर पाया जा सकता है। यह एक ही समय में कई भाषाओं को संभाल सकता है। खोज विशिष्ट लैंगेज, या भाषाओं में पैटर्न (जैसे "टैक्स से जुड़े पहचानकर्ता ढूंढें") में पैटर्न के लिए किया जा सकता है। लैंगेज टोकन से संवेदनशील होने के कारण, उपयोगकर्ता के लिए बचत समय बचत समय कम हो गया है। यह सी, सी ++, सी #, कोबोल, जावा, ईसीएमएस्क्रिप्ट, जावा, एक्सएमएल, वेरिलोग, वीएचडीएल, और कई अन्य भाषाओं को समझता है।

0

मैं here से स्रोत-नेविगेटर (टीएम) का उपयोग करता हूं। यह काफी प्रभावशाली है और बहुत मदद करता है। यह टीसीएल/टीके में लिखा गया है, विंडोज़ के लिए निष्पादन योग्य के रूप में उपलब्ध है और स्रोत कोड के रूप में * निक्स पर निर्माण के लिए तैयार है।

1

यदि आप उन परियोजनाओं में शामिल हैं जिनमें असेंबली के साथ एचएलएल कोड का मिश्रण है, तो मैं ओपेंगोक की सिफारिश करता हूं, मैंने हाल ही में ओपेंगोक में स्थानांतरित कर दिया है और इसे अद्भुत पाया है, ओपेंगोक + फ़ायरफ़ॉक्स + एक्सटेंशन मेरी राय में सबसे अच्छा संयोजन है, स्क्रैपबुक इत्यादि जैसे कुछ फ़ायरफ़ॉक्स एक्सटेंशन आपको कोड ब्राउज़ करते समय नोट्स को संशोधित और जोड़ने की अनुमति देते हैं, फिर यह ज्यादातर कोड के माध्यम से 'ब्राउजिंग' के लिए होता है और फ्लाई पर इसे संशोधित करने के लिए नहीं।

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