Maguyva의 C 지원: 시스템·임베디드 코드를 위한 호출 그래프
C에서는 호출 그래프가 곧 아키텍처입니다. 에이전트는 편집하기 전에 그것부터 읽어야 합니다.
확장자
.c, .h
Ada는 패키지가 약속하는 것(.ads)과 그것을 실현하는 방법(.adb)을 분리합니다. 좋은 엔지니어링이지만, 하나의 변경이 여러 파일에 걸치고 텍스트 검색으로는 그 연결을 볼 수 없다는 뜻이기도 합니다. 오래된 Ada 시스템에는 제네릭, 태그드 타입, 태스크, 보호 객체라는 층이 더해지며, 이들의 관계는 어떤 단일 파일보다 중요합니다.
Maguyva는 에이전트가 수정을 제안하기 전에 그 의존성 지도를 건넵니다. 고신뢰 검토가 기대하는 순서이기도 합니다.
Maguyva는 .ads, .adb, .ada를 지원합니다. 서브프로그램 본체와 프로시저 및 함수 명세는 호출 가능한 심볼로 추출되므로, 루틴의 명세와 본체를 모두 검색할 수 있습니다. 심볼 매칭은 Ada 자체와 마찬가지로 대소문자를 구분하지 않습니다.
임포트는 with와 use 절에서 만들어지며, 키워드를 떼어 내고 패키지 이름을 그래프에 저장합니다. 그래프에는 호출, 태그드 타입의 상속과 오버라이드, 인스턴스화, 타입 참조, 읽기와 쓰기, 예외 발생과 핸들러 엣지도 기록됩니다.
구조적 검색에서는 태스크 타입, 보호 타입, 레코드 타입, 인터페이스 타입을 타입 정의로, 엔트리 본체를 메서드로 선택할 수 있습니다.
Flight_Control.Sensors에 의존하는 유닛은 무엇이고, 그 안의 어떤 서브프로그램을 호출하나요?” (dependency_search incoming)Compute_Trajectory의 명세와 본체, 그리고 모든 호출자를 보여 줘.” (find_symbol)get_task_context)Put_Line, Put, Get 같은 일반적인 텍스트 I/O 호출은 의도적으로 남겨 둡니다.use 절은 가시성을 바꾸지만 구조적 검색에서 임포트로 선택되지 않습니다. with 절은 선택됩니다.find_symbol을 사용하세요.빠른 시작으로 저장소를 연결한 다음, 호환성 페이지에서 지원 매트릭스를 확인하세요. Ada 코드가 C와 바인딩되어 있다면 C 가이드도 읽어 보세요.
가장 적합한 경우
에이전트 워크플로
엔진 세부 정보
유용한 MCP 진입점
서브프로그램의 명세와 본체를 참조와 함께 한 번에 찾을 때 쓰세요.
패키지 명세를 바꾸기 전에 incoming 탐색을 써서 의존하는 모든 유닛을 확인하세요.
“텔레메트리 태스크가 로깅용 보호 객체에 데이터를 어떻게 넘기는지 설명해 줘” 같은 프롬프트에 쓰세요.
관련 가이드
C에서는 호출 그래프가 곧 아키텍처입니다. 에이전트는 편집하기 전에 그것부터 읽어야 합니다.
확장자
.c, .h
C++는 진짜 호출 대상을 네임스페이스, 오버로드, 가상 디스패치 뒤에 숨깁니다. 그래프는 에이전트가 그것을 찾도록 돕습니다.
확장자
.c, .c++, .cc, .cpp, +6개 더보기