MaguyvaのC対応: システム・組み込みコードのコールグラフ
Cでは、コールグラフこそがアーキテクチャです。エージェントは編集の前にそれを読むべきです。
拡張子
.c, .h
C++では、名前は一意ではありません。send は、フリー関数であり、3つのクラスのメンバーであり、4つ目のクラスではオーバーライドであるかもしれません。名前空間、テンプレート、そして .cpp ファイルにある Socket::send のような行外定義が、1つの型を多くのファイルに分割します。テキスト検索はすべての一致を返しますが、呼び出しがそのどれに届くのかはエージェントに教えてくれません。
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 など)は関係性から除外されます。グラフには、呼び出し、インクルード、継承、オーバーライド、インスタンス化、型参照、読み取りと書き込み、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