PC操作系統(tǒng):ubuntu 11.10 使用的開發(fā)板:am335x_evm 開發(fā)板使用的操作系統(tǒng):linux 3.2
用途 顯示關(guān)于對象文件、可執(zhí)行文件以及對象文件庫里的符號信息。 語法 nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g | -u ] [ -d | -o | -x | -t Format ] File ... 描述 nm 命令顯示關(guān)于指定 File 中符號的信息,,文件可以是對象文件,、可執(zhí)行文件或?qū)ο笪募?。如果文件沒有包含符號信息,,nm 命令報告該情況,,但不把它解釋為出錯條件,。 nm 命令缺省情況下報告十進制符號表示法下的數(shù)字值,。 nm 命令把以下符號信息寫入標準輸出: 庫或?qū)ο竺?br> 如果您指定了 -A 選項,則 nm 命令只報告與該文件有關(guān)的或者庫或者對象名,。 符號名稱 符號類型 nm 命令使用以下符號(用同樣的字符表示弱符號作為全局符號)之一來表示文件符號類型: A Global absolute 符號,。 a Local absolute 符號。 B Global bss 符號,。 b Local bss 符號,。 D Global data 符號。 d Local data 符號,。 f 源文件名稱符號,。 T Global text 符號。 t Local text 符號,。 U 未定義符號,。 值 大小 如果可應(yīng)用,nm 命令報告與符號有關(guān)的大小,。 標志 -A 每行或者顯示全路徑名稱或者顯示對象庫名,。 -B 在 Berkeley 軟件分發(fā)(BSD)格式中顯示輸出: 值 類型 名稱 -C 限制解碼(demangle) C++ 名稱。缺省是解碼所有 C++ 符號名,。 注: C++ 對象文件中的符號在被使用前它們的名稱已經(jīng)被解碼了,。 -d 用十進制顯示符號的值和大小。這是缺省的。 -e 只顯示靜態(tài)的和外部的(全局)符號,。 -f 顯示完整的輸出,,包括冗余的 .text、 .data 以及 .bss 符號,,這些在通常都是被限制的,。 -g 只顯示外部的(全局)符號。 -h 限制輸出頭數(shù)據(jù)的顯示,。 -l 通過給 WEAK 符號的編碼鍵附加一個 * 來區(qū)分 WEAK 和 GLOBAL 符號,。如果和 -P 選項一起使用, WEAK 符號的符號類型顯示如下: V Weak Data 符號 W Weak Text 符號 w Weak 未定義符號 Z Weak bss 符號 -o 用八進制而不是十進制數(shù)來顯示符號的值和大小,。 -P 以標準可移植輸出格式顯示信息: 庫/對象名 名稱 類型 值 大小 該格式以十六進制符號表示法顯示數(shù)字值,,除非您用 -t、-d 或 -o 標志指定不同的格式,。 如果您指定了 -A 標志 -P 標志只顯示 庫/對象名字段,。同樣,-P 標志只顯示大小適用的符號大小字段,。 -p 不排序,。輸出按符號表順序打印。 -r 倒序排序,。 -T 把可能會溢出它的列的每個名字截短,,使顯示的名字的最后一個字符是星號(*)。缺省情況下,,nm 顯示列出的符號的全名,,并且一個比為其設(shè)置的列的寬度長的名稱會引起名稱后的每個列無法對齊。 -t Format 顯示指定格式下的數(shù)字值,,其中 Format 參數(shù)是以下符號表示法之一: d 十進制符號表示法,。這是 nm 命令的缺省格式。 o 八進制符號表示法,。 x 十六進制符號表示法,。 -u 只顯示未定義符號。 -v 按值而不是按字母表順序排序輸出,。 -x 用十六進制而不是十進制數(shù)來顯示符號的值和大小,。 -X mode 指定 nm 應(yīng)該檢查的對象文件的類型。 mode 必須是下列之一: 32 只處理 32 位對象文件 64 只處理 64 位對象文件 32_64 處理 32 位和 64 位對象文件 缺省是處理 32 位對象文件(忽略 64 位對象),。 mode 也可以 OBJECT_MODE 環(huán)境變量來設(shè)置,。例如,OBJECT_MODE=64 使 nm 處理任何 64 位對象并且忽略 32 位對象,。 -X 標志覆蓋 OBJECT_MODE 變量,。 注: nm 命令支持 -- (雙連字符)標志,。如果文件名會被曲解為一個選項,該標志區(qū)別于 File 操作數(shù),。例如,,要指定文件名以連字符開始,請使用 -- 標志,。 退出狀態(tài) 該命令返回下列出口值: 0 成功完成。 >0 發(fā)生錯誤,。 示例 列出 a.out 對象文件的靜態(tài)和外部符號,,請輸入: nm -e a.out 以十六進制顯示符號大小和值并且按值排序符號,請輸入: nm -xv a.out 顯示 libc.a 中所有 64 位對象符號,,忽略所有 32 位對象: nm -X64 /usr/lib/libc.a 文件 /usr/ccs/bin/nm 包含 nm 命令,。
示例: 程序源碼:
結(jié)果顯示:
|
|
來自: Tornador > 《IOS開發(fā)》