Skip to main content

Linux - Unixコマンド:nm

OpenCVするのにVim Clang便利なのでインストールしてみない? (かもしれません 2024)

OpenCVするのにVim Clang便利なのでインストールしてみない? (かもしれません 2024)
Anonim

nm - オブジェクトファイルのシンボルをリストする

シノプシス

nm -a|--debug-syms -g|--extern-only -B -C|--demangle= スタイル -D| - 動的 -S|--print-size -s|--print-armap -A|-o|--print-file-name -n|-v| - 数値ソート -p|--no-sort -r|--reverse-sort --size-sort -u| - 定義済みのみ -t 基数 |--radix = 基数 -P| - 移植性 --target = bfdname -f フォーマット |--format = フォーマット 定義済みのみ -l|行番号 --no-demangle -V| - バージョン -X 32_64 - 助けて objfile …

DESCRIPTION

GNUnm オブジェクトファイルからのシンボルをリストします。 objfile ….オブジェクトファイルが引数としてリストされていない場合、nm ファイルを想定します a.out .

各記号について、nm ショー:

*

オプション(下記参照)で選択された基数のシンボル値、またはデフォルトでは16進数。

*

シンボルタイプ。少なくとも以下のタイプが使用されます。オブジェクトファイルの形式にも依存します。小文字の場合、シンボルはローカルです。大文字の場合、シンボルはグローバル(外部)です。

A

シンボルの値は絶対値であり、さらにリンクすると変更されません。

B

シンボルは、初期化されていないデータセクション(BSSと呼ばれます)にあります。

C

シンボルは共通です。一般的な記号は、初期化されていないデータです。リンクするとき、複数の共通シンボルが同じ名前で表示されることがあります。シンボルがどこにでも定義されている場合、共通シンボルは未定義の参照として扱われます。

D

シンボルは初期化されたデータセクションにあります。

G

シンボルは小さなオブジェクトの初期化されたデータセクションにあります。オブジェクトファイル形式の中には、大規模なグローバル配列ではなく、グローバルint変数など、小さなデータオブジェクトへのより効率的なアクセスを可能にするものもあります。

シンボルは、別のシンボルへの間接参照です。これはまれに使用されるa.outオブジェクトファイル形式に対するGNU拡張です。

N

シンボルはデバッグシンボルです。

R

シンボルは読み取り専用のデータセクションにあります。

S

シンボルは、小さなオブジェクトの初期化されていないデータセクションにあります。

T

シンボルはテキスト(コード)セクションにあります。

U

シンボルは定義されていません。

V

シンボルは弱いオブジェクトです。弱い定義済みシンボルが通常定義されたシンボルとリンクされている場合、通常の定義済みシンボルがエラーなしで使用されます。弱い未定義のシンボルがリンクされ、シンボルが定義されていない場合、弱いシンボルの値はエラーなしでゼロになります。

W

シンボルは、特に弱いオブジェクトシンボルとしてタグ付けされていない弱いシンボルです。弱い定義済みシンボルが通常定義されたシンボルとリンクされている場合、通常の定義済みシンボルがエラーなしで使用されます。弱い未定義のシンボルがリンクされ、シンボルが定義されていない場合、弱いシンボルの値はエラーなしでゼロになります。

-

シンボルは、a.outオブジェクトファイル内のスタブシンボルです。この場合、次の値はstabs他のフィールド、stabs descフィールド、およびstabタイプです。スタブ記号は、デバッグ情報を保持するために使用されます。

?

シンボルのタイプは不明です。または、オブジェクトファイルのフォーマットに固有です。

*

シンボル名。

オプション

ここでは代替案として示されている長い形式と短い形式のオプションが同等です。

-A

-o

--print-file-name

すべての記号の前に、入力ファイルを一度だけ識別するのではなく、見つかった入力ファイル(またはアーカイブ・メンバー)の名前で各記号を先行させます。

-a

--debug-syms

デバッガのみのシンボルであっても、すべてのシンボルを表示する。通常これらはリストされていません。

-B

と同じ--format = bsd (MIPSとの互換性のためnm).

-C

--demangle = スタイル

デコード( デマングル )低レベルのシンボル名をユーザレベルの名前に変換します。システムが先頭に付ける最初のアンダースコアを削除するだけでなく、これによりC ++の関数名も読みやすくなります。コンパイラごとに異なるマングリングスタイルがあります。オプションのデアンギュリングスタイル引数を使用して、コンパイラに適したデアントラリングスタイルを選択できます。

--no-demangle

低レベルのシンボル名をデマングルしないでください。これがデフォルトです。

-D

- 動的

通常のシンボルではなくダイナミックシンボルを表示します。これは、特定のタイプの共有ライブラリなどの動的オブジェクトでのみ意味があります。

-f フォーマット

--format = フォーマット

出力フォーマットを使用する フォーマット "bsd"、 "sysv"、または "posix"にすることができます。デフォルトは "bsd"です。の最初の文字のみ フォーマット 重要です。大文字または小文字のどちらでもかまいません。

-g

--extern-only

外部シンボルのみを表示します。

-l

行番号

シンボルごとに、デバッグ情報を使用してファイル名と行番号を検索します。定義済みのシンボルについては、シンボルのアドレスの行番号を探します。未定義シンボルの場合は、シンボルを参照する再配置エントリの行番号を探します。行番号情報が見つかった場合は、他のシンボル情報の後に印刷します。

-n

-v

- 数値ソート

名前のアルファベット順ではなく、アドレスでシンボルをソートします。

-p

--no-sort

任意の順序でシンボルを並べ替えるのはやめてください。遭遇した順に印刷してください。

-P

- 移植性

既定の形式の代わりにPOSIX.2標準出力形式を使用します。に相当-f posix.

-S

--print-size

「bsd」出力形式の定義済みシンボルの印刷サイズ。

-s

--print-armap

アーカイブメンバーからシンボルをリストするときには、インデックス:マッピング(アーカイブにar またはランリブ)には、名前の定義が含まれています。

-r

--reverse-sort

ソートの順序を逆にします(数値かアルファベットかにかかわらず)。最後に来てください。

--size-sort

サイズでシンボルを並べ替えます。サイズは、シンボルの値と次に高い値を持つシンボルの値との差として計算されます。値ではなく、シンボルのサイズが表示されます。

-t 基数

--radix = 基数

つかいます 基数 シンボル値を印刷するための基数として使用します。それは違いないd 10進数では、o 8進数の場合、またはバツ 16進数の場合。

--target = bfdname

システムのデフォルト形式以外のオブジェクトコード形式を指定してください。

-u

- 定義済みのみ

定義されていないシンボル(各オブジェクトファイルの外部シンボル)のみを表示します。

定義済みのみ

オブジェクトファイルごとに定義されたシンボルのみを表示します。

-V

- バージョン

バージョン番号を表示するnm 終了します。

-バツ

このオプションは、AIX版との互換性のために無視されます。nm。それは文字列でなければならない1つのパラメータをとります32_64。 AIXのデフォルト・モードnm に対応-X 32これはGNUでサポートされていませんnm.

- 助けて

オプションの概要を表示するnm 終了します。

関連項目

ar (1), オブジェクトダンプ (1), ランリブ (1)、Infoエントリは binutils .

重要: 使用 おとこ コマンド( % おとこ 特定のコンピュータでどのようにコマンドが使用されているかを確認することができます。