2010-09-06 19 views
7

के लिए Emacs में कोई सुविधा है, मैं किसी और के कोड को बनाए रख रहा हूं। कोड लिनक्स प्लेटफॉर्म पर जीसीसी 4.4.3 का उपयोग कर सी में लिखा गया है। हालांकि, कोड बहुत सारे कूदता है और यह पता लगाना मुश्किल होता है कि सभी कार्यों को कहां से बुलाया जाता है।फ़ंक्शन कॉल पदानुक्रम

विजुअल स्टूडियो में, 'कॉल पदानुक्रम' नामक एक सुविधा है जो प्रदर्शित करेगी कि कहां से कॉल किया जाता है और कहलाता है। क्या Emacs (23.1.1) में ऐसी कोई सुविधा है?

उत्तर

6

क्लासिक Emacs तरह से कॉल करने के लिए कूद करने के TAGS फ़ाइल का उपयोग और एम उपयोग करने के लिए है। कमांड। मैं अपनी परियोजना के रूट निर्देशिका में निम्न आदेश के साथ Exuberant C Tags का उपयोग करना चाहिये:

ctags -e --c-kinds=+pxd -R . 

तब का उपयोग कर visit-tags-table आप टैग फ़ाइल खोल सकते हैं। एम- के साथ। आप प्रत्येक परिभाषा पर जा सकते हैं या अपने कीवर्ड पर कॉल कर सकते हैं। सी-यूएम- का प्रयोग करें। एक और घटना पर कूदने के लिए। का प्रयोग करें सी-एक्सzzz ... खोज को दोहराने के लिए।

यदि आपके पास कई प्रोजेक्ट हैं, तो आप उनमें से प्रत्येक के लिए एक टैग फ़ाइल बना सकते हैं और फिर TAGS फ़ाइलों को अपनी खोज सूची में टैग करने के लिए TAGS फ़ाइल जोड़ने के लिए कॉल-टैग-फ़ाइल कॉल कर सकते हैं।

एक और क्लासिक रास्ता (संयुक्त राष्ट्र * x रास्ता), आदेश का उपयोग करने के लिए है एम एक्सfind-grep अपने कीवर्ड की घटनाओं के लिए खोज करने के लिए।

+0

धन्यवाद, मैंने अभी एक छोटी नमूना परियोजना पर कोशिश की है। अच्छा काम किए। हालांकि, मुझे टैग फ़ाइल बनाने के लिए आपके आदेश की जानकारी नहीं है। ctags -e -c-type = pxd -R। मैं emacs के लिए टैग - समझ सकते हैं। - सी - सी भाषा। -R रिकर्सिव टैग टैग बनाने में सभी फाइलों और निर्देशिकाओं के माध्यम से जाएं। हालांकि, क्या है-kinds = pxd? इसके बारे में निश्चित नहीं है। बहुत धन्यवाद। – ant2009

+0

@Jermoe। बस सोच रहा है कि आप टैग्स फ़ाइलों को कैसे अपडेट करते हैं। मैंने अभी कुछ नए कार्यों को जोड़ा है। हालांकि, मैं उन पर नेविगेट नहीं कर सकता क्योंकि यह कहता है "कोई टैग नहीं है ..."। मुझे लगता है कि मुझे अपनी टैग फ़ाइल को हटाना है और फिर एक नया उत्पन्न करना है। क्या ये सही है? धन्यवाद। – ant2009

+0

एक ctags --list-type = c यह जानने के लिए कि किस प्रकार का सी तत्व आप --c-type का उपयोग कर TAGS फ़ाइल से जोड़ या निकाल सकते हैं। –

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