Maguyva में C++: बड़े कोडबेस के लिए क्लास और कॉल ग्राफ़
C++ किसी कॉल के असली लक्ष्य को नेमस्पेस, ओवरलोड और वर्चुअल डिस्पैच के पीछे छिपा देती है। ग्राफ़ एजेंट को उसे ढूँढने में मदद करता है।
एक्सटेंशन
.c, .c++, .cc, .cpp, +6 और
Maguyva, C को AST, सिंबल और ग्राफ़ के साथ सपोर्ट करता है, ताकि AI एजेंट सिस्टम, फ़र्मवेयर और लाइब्रेरी कोड में फ़ंक्शन, structs, इनक्लूड और कॉलर ट्रेस कर सकें।
C में कोड को व्यवस्थित करने के लिए क्लास या मॉड्यूल नहीं होते। संरचना फ़ंक्शन कॉल, हेडर और structs में रहती है, और वही नाम कमेंट, मैक्रो और स्ट्रिंग लिटरल में भी आ सकता है। Export और एनोटेशन मैक्रो घोषणाओं को लपेट देते हैं, जिससे सिर्फ़ शुद्ध C पार्स करने वाले टूल उलझ जाते हैं। एजेंट के लिए सुरक्षित पहला कदम कॉल ग्राफ़ है।
Maguyva यह ग्राफ़ बनाता है, ताकि एजेंट बदलाव सुझाने से पहले देख सके कि कोई फ़ंक्शन कहाँ तक पहुँचता है और उस तक क्या पहुँचता है।
Maguyva .c और .h को कवर करता है। फ़ंक्शन परिभाषाएँ सिंबल के रूप में निकाली जाती हैं, और structs व unions को स्ट्रक्चरल सर्च में टाइप परिभाषा के रूप में चुना जा सकता है। #include डायरेक्टिव इम्पोर्ट संबंध बन जाते हैं।
Export और विज़िबिलिटी मैक्रो (FOO_API, DLLEXPORT या LIBEXPORT जैसे पैटर्न) और थ्रेड-सेफ़्टी एनोटेशन मैक्रो (जैसे GUARDED_BY और REQUIRES) पार्स करने से पहले मास्क कर दिए जाते हैं, ताकि जिन घोषणाओं को वे लपेटते हैं वे सामान्य घोषणाओं की तरह पार्स हों। फ़ंक्शन-जैसे मैक्रो की बॉडी पार्स होती है; ऑब्जेक्ट-जैसे मैक्रो की बॉडी नहीं।
ग्राफ़ कॉल, इनक्लूड, कंपाउंड लिटरल के ज़रिए इंस्टैंशिएशन, टाइप रेफ़रेंस, रीड और राइट, और कंट्रोल फ़्लो दर्ज करता है। लगभग 124 C स्टैंडर्ड-लाइब्रेरी कॉल (printf, malloc, free, memcpy, strlen और इसी तरह के) संबंधों से फ़िल्टर किए जाते हैं, ताकि प्रोजेक्ट का कोड अलग दिखे।
uart_write को कौन कॉल करता है, सीधे या दूसरे फ़ंक्शन के ज़रिए?” (incoming दिशा में dependency_search)config.h को include करती हैं, और उसके कौन-से structs इस्तेमाल करती हैं?” (dependency_search, फिर find_symbol)get_task_context).h C, C++ और Objective-C की एक्सटेंशन सूचियों में आता है, इसलिए बहुभाषी ट्री में हेडर इन प्रोफ़ाइल के बीच बँट जाते हैं।malloc या memcpy चाहिए, तो text_pattern_search इस्तेमाल करें।क्विकस्टार्ट से रिपॉज़िटरी जोड़ें, फिर सपोर्ट मैट्रिक्स कम्पैटिबिलिटी पेज पर देखें। उसी ट्री के C++ कोड के लिए C++ गाइड पढ़ें।
सबसे उपयुक्त
एजेंट वर्कफ़्लो
इंजन विवरण
उपयोगी MCP एंट्री पॉइंट
जब आपको परिभाषा और हर रेफ़रेंस चाहिए, तो किसी फ़ंक्शन या struct नाम के साथ इस्तेमाल करें।
किसी साझा फ़ंक्शन का सिग्नेचर या एरर हैंडलिंग बदलने से पहले उस पर incoming ट्रैवर्सल इस्तेमाल करें।
"समझाओ कि कोई पैकेट रिसीव इंटरप्ट से प्रोटोकॉल पार्सर तक कैसे जाता है" जैसे प्रॉम्प्ट के लिए इस्तेमाल करें।
संबंधित गाइड
C++ किसी कॉल के असली लक्ष्य को नेमस्पेस, ओवरलोड और वर्चुअल डिस्पैच के पीछे छिपा देती है। ग्राफ़ एजेंट को उसे ढूँढने में मदद करता है।
एक्सटेंशन
.c, .c++, .cc, .cpp, +6 और
प्रासंगिक तब जब आपको Rust में AI सहायता चाहिए, बिना उन संरचनात्मक गार्डरेल्स को खोए जो Rust को इस्तेमाल करने लायक बनाते हैं।
एक्सटेंशन
.rs