C i Maguyva: anropsgrafer för system- och inbyggd kod
I C är anropsgrafen arkitekturen. En agent bör läsa den innan den redigerar.
Filändelser
.c, .h
Maguyva stöder C++ med AST, symboler och graf, så att AI-agenter kan följa klasser, namnrymder, virtuella överskrivningar och anropare i stora C++-kodbaser.
I C++ är namn inte unika. send kan vara en fri funktion, en medlem i tre klasser och en överskrivning i en fjärde. Namnrymder, templates och definitioner utanför klassen, som Socket::send i en .cpp-fil, sprider en typ över många filer. Textsökning returnerar varje träff men säger inte till en agent vilken av dem ett anrop når.
Maguyva indexerar klasser, medlemmar och anrop tillsammans med sina ägare, så att en agent kan följa den verkliga strukturen innan den redigerar.
Maguyva täcker de vanliga filändelserna för C++-källkod och headers, bland annat .cpp, .cc, .cxx, .hpp, .hh och .hxx. Klasser, structs och funktioner extraheras, och en definition utanför klassen som void Socket::send() tillskrivs sin ägarklass och namnrymd. Virtuella medlemmar registreras, och templateparametrar ingår i signaturerna.
Mottagartypningen följer parametrar, lokala deklarationer, fält, intervallbaserade for-loopar och auto, och ser igenom unique_ptr, shared_ptr och optional, så ett anrop som conn->send() kan lösas till rätt klass. Basklassatser matar arvet, och new-uttryck räknas som instansiering.
Samma maskering av export- och annoteringsmakron som i C gäller. Omkring 273 namn i standardbiblioteket (std::cout, std::endl, printf och liknande) filtreras bort ur relationerna. Grafen registrerar anrop, includes, arv, överskrivningar, instansiering, typreferenser, läsningar och skrivningar samt throw-kanter.
Renderer::draw, och vem anropar den?” (dependency_search)OrderBook::match och alla som anropar den.” (find_symbol)get_task_context).h finns i filändelselistorna för C, C++ och Objective-C, så i träd som blandar C och C++ delas headers mellan de profilerna.text_pattern_search för makron och användning av std::.Anslut ett repo med snabbstarten och kontrollera sedan stödmatrisen på kompatibilitetssidan. Om delar av trädet är ren C, läs även guiden för C.
Bäst lämpad för
Agentarbetsflöden
Motordetaljer
Användbara MCP-ingångar
Använd det för ett kvalificerat namn som `OrderBook::match` när du behöver definitionen och anroparna.
Använd det på en basklass eller virtuell metod före en signaturändring för att hitta överskrivningar och anropare.
Använd det för prompter som "förklara hur ett marknadsdatameddelande når strategimotorn".
Relaterade guider
I C är anropsgrafen arkitekturen. En agent bör läsa den innan den redigerar.
Filändelser
.c, .h
Relevant när du vill ha AI-assistans i Rust utan att förlora de strukturella skyddsräckena som gör Rust värt att använda.
Filändelser
.rs