11

Alexの記事に従ってemacs用にCEDETを設定しました(素晴らしい!!)。さて、質問:

  1. Gnu Globalを使用してGTAGSを生成しましたが/usr/include、セマンティックがGTAGSを使用しているかどうかを確認するにはどうすればよいですか?
  2. GTAGSを別のディレクトリに保持し、そのディレクトリを使用するようにセマンティックに指示できますか?
  3. C / C ++ソースでは、(システムヘッダーからの)includeステートメントを完了すると、使用可能なすべてのヘッダーが一覧表示されません。わかりました、これはばかげた問題です..しかし、何かが正しく機能していないと私に思わせます
4

1 に答える 1

16

次のコマンドを使用できます。

M-x semantic-c-describe-environment RET

インクルードパスとCPPマクロ設定について調べます。

GNU Globalの使用をテストするには、次を使用できます。

M-x semanticdb-test-gnu-global RET printf RET

いくつかのプロジェクトで「printf」を検索します。プロジェクト(おそらく/ home / you / myprojectにある)にはprintfが含まれていないため、失敗しますが、/ usr / includeにあるファイルを開いて同じコマンドを実行すると、printfが識別されることが期待されます。

GNU Globalについて質問するより一般的な方法は、次のとおりです。

M-x cedet-gnu-global-version-check RET

とはいえ、GNU Globalのサポートは、頻繁にアクセスすることのない多数の事前解析済みファイルが必要な状況で最適です。ヘッダーに一度アクセスすると(printfの場合のように)、同等のセマンティックデータベースが作成されるため、GNUグローバルデータベースは使用されなくなります。GNU Globalはスマートコンプリーションを実行するのに十分な情報を提供しないため、これが必要です。

于 2010-04-08T21:41:18.833 に答える