Maguyva의 C 지원: 시스템·임베디드 코드를 위한 호출 그래프
C에서는 호출 그래프가 곧 아키텍처입니다. 에이전트는 편집하기 전에 그것부터 읽어야 합니다.
확장자
.c, .h
C++에서 이름은 고유하지 않습니다. send는 자유 함수이면서, 세 클래스의 멤버이고, 네 번째 클래스에서는 오버라이드일 수 있습니다. 네임스페이스, 템플릿, 그리고 .cpp 파일 안의 Socket::send 같은 클래스 외부 정의가 한 타입을 여러 파일로 나눕니다. 텍스트 검색은 모든 일치를 돌려주지만, 호출이 그중 어디에 닿는지는 에이전트에게 알려 주지 않습니다.
Maguyva는 클래스, 멤버, 호출을 소유자와 함께 인덱싱하므로, 에이전트는 편집하기 전에 실제 구조를 따라갈 수 있습니다.
Maguyva는 .cpp, .cc, .cxx, .hpp, .hh, .hxx를 포함한 일반적인 C++ 소스·헤더 확장자를 지원합니다. 클래스, 구조체, 함수가 추출되며, void Socket::send() 같은 클래스 외부 정의는 소유 클래스와 네임스페이스에 귀속됩니다. 가상 멤버도 기록되고, 템플릿 매개변수는 시그니처의 일부가 됩니다.
리시버 타입 추론은 매개변수, 지역 선언, 필드, 범위 기반 for 루프, auto를 따라가며 unique_ptr, shared_ptr, optional 안까지 들여다보므로, conn->send() 같은 호출을 올바른 클래스로 해석할 수 있습니다. 베이스 클래스 절은 상속으로 이어지고, new 표현식은 인스턴스화로 계산됩니다.
C와 같은 익스포트·어노테이션 매크로 마스킹이 적용됩니다. 약 273개의 표준 라이브러리 이름(std::cout, std::endl, printf 등)은 관계에서 걸러집니다. 그래프는 호출, include, 상속, 오버라이드, 인스턴스화, 타입 참조, 읽기와 쓰기, throw 엣지를 기록합니다.
Renderer::draw를 오버라이드하는 클래스는 무엇이고, 누가 그것을 호출하나요?” (dependency_search)OrderBook::match와 그 모든 호출자를 보여 줘.” (find_symbol)get_task_context).h는 C, C++, Objective-C의 확장자 목록에 모두 들어 있어서, C와 C++가 섞인 트리의 헤더는 이 프로필들이 공유합니다.std:: 사용처에는 text_pattern_search를 사용하세요.빠른 시작으로 저장소를 연결한 다음, 호환성 페이지에서 지원 매트릭스를 확인하세요. 트리의 일부가 순수 C라면 C 가이드도 읽어 보세요.
가장 적합한 경우
에이전트 워크플로
엔진 세부 정보
유용한 MCP 진입점
정의와 호출자가 필요할 때 `OrderBook::match` 같은 한정 이름으로 쓰세요.
시그니처를 바꾸기 전에 베이스 클래스나 가상 메서드에 써서 오버라이드와 호출자를 찾으세요.
“시장 데이터 메시지가 전략 엔진에 어떻게 도달하는지 설명해 줘” 같은 프롬프트에 쓰세요.
관련 가이드
C에서는 호출 그래프가 곧 아키텍처입니다. 에이전트는 편집하기 전에 그것부터 읽어야 합니다.
확장자
.c, .h
Rust를 가치 있게 만드는 구조적 안전장치를 잃지 않으면서 Rust에서 AI 지원을 원할 때 유용합니다.
확장자
.rs