ctags と cscope を使用してオンラインでソース コードを読み取る: TheLinuxCrossReferencer のチュートリアル

WBOY
リリース: 2024-01-26 22:51:22
転載
609 人が閲覧しました

リダイレクト先:

ubuntu システムに適用します。

インターネット接続がある場合は、LXR (TheLinuxCrossReferencer) を使用してオンラインでソース コードを読むことができて非常に便利です。ネットワーク linux カーネル コード読み取りツール ubuntu linux が存在しない場合、vim だけでカーネル ソース コードを検索するのは少し気が進みません。次に、この記事では、ソース コードをすばやく見つけるためのツール、ctags と cscope を紹介します。 vim エディター Linux 標準チュートリアルと上記の 2 つのツールを使用すると、表示したいソース コードをすぐに見つけることができます。さて、始めましょう!

1. 最新のカーネル ソース コード パッケージをダウンロードし、メイン ディレクトリに抽出します。

次の手順は、実際には現在のシステム カーネル ソース コード ディレクトリで実行できますが、念のため、ソース コードをホーム ディレクトリに保存するための特別なディレクトリを作成することをお勧めします。以下で説明するソース コード ディレクトリはすべて、ホーム ディレクトリ下のソース コード ディレクトリを指します。

2. ctags をインストールします

コマンドを使用します: sudoapt-getinstallctags

3.cscopeのインストール

linux 内核代码阅读工具_linux内核代码是什么语言_linux内核源码在线阅读

コマンドを使用します: sudoapt-getinstallcscope

4. タグファイルへ

コマンド maketags を使用して、ソース コード ディレクトリにタグ ファイルを生成します (ctags-R も使用できます)

5. インデックスファイルの生成

ソース ディレクトリで makecscope コマンドを実行し (cscope-in​​dexer-r を使用することもできます)、インデックス ファイルを生成します。

6. インデックス ファイルを vim にエクスポートします。

コマンドを使用して vim 構成ファイルを開きます: sudogedit/etc/vim/vimrc; 次に、ファイルの下に次のコードを追加します:

iffilereadable("cscope.out")

csaddcscope.out

endif

これにより、vim を開くたびに cscope を直接使用できるようになります。

上記の手順を完了すると、vim を通じてソース コードをすぐに見つけることができます。上記でインストールした ctags と cscope はどちらもソース コードのインデックス作成ツールなので、3 つのうち 1 つだけをインストールしても問題ありません。はい、ctag は入力されたタグを素早く見つけることができますが、cscope はより柔軟に使用できます。したがって、両方を同時にインストールして使用する方が便利です。以下に簡単な使用方法をご紹介しますので、ご参考までに。

1.ctag を使用する

ctag の使用は非常に簡単です。まず、ソース コード ディレクトリに入り、vim エディタを開き、コマンド モードで「tagtag_name」と入力し、Enter キーを押します。一般に、tag_name には構造体名、関数名、マクロ変数名などを使用できます。通常、上記のコマンドを入力した後、見つかったタグは一意ではないため、次のコマンドを一緒に使用する必要があります:

tfirst: 最初の

にジャンプします

tnext: 次へジャンプ

tlast: 最後の

にジャンプします

2. cscope を使用する

ctags は便利で高速に使用できますが、場合によっては cscopeLinux カーネル コード読み取りツール を使用する方が柔軟です。まず、cscope:

のヘルプ ファイルを参照してください。 ###引用###

cscope コマンド:

add: 新しいデータベースを追加します (使用法: addfile|dir[pre-path][flags])

find: パターンをクエリする (使用法: findc|d|e|f|g|i|s|tname)

c: この関数を呼び出す関数を見つけます

d: この関数によって呼び出される関数を検索します

e: この egrep パターンを見つけます

f: このフォルダーが見つかりました

g: この定義を検索します

i: ファイルを検索 #このファイルを含める

s: この C シンボルを見つけます

t: 仮パラメータを見つけます

ヘルプ: この情報を表示します (使用法: ヘルプ)

kill: 接続を終了します (使用法: kill#)

リセット: すべての接続をリセットします (使用法: リセット)

show: ディスプレイ接続 (使用法: show)

前のヘルプ ファイルを参照すると、request_irq 関数の定義コードを検索するには、csfindgrequest_irq コマンドを使用して検索できることがわかります。ほとんどの場合、複数の結果のヘッダー ファイルを引き続き表示する必要があるため、検索結果は一意ではありません。

一般に、ヘッダー ファイルは cscope を通じて大まかに特定され、次に ctags を通じてヘッダー ファイル内で詳細に特定されます。これら 2 つのツールは上記の使用法に限定されるものではありませんが、より深く使用することでより多くの使用法を検討することができ、正規表現と組み合わせるとさらに効果が高まります。

以上がctags と cscope を使用してオンラインでソース コードを読み取る: TheLinuxCrossReferencer のチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:itcool.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート