檢視 o, obj檔案符號列表,強大的nm命令

2021-09-30 08:56:58 字數 595 閱讀 9637

nm命令可以檢視,linux以及windows下的.o ,.obj檔案中的符號列表,其中.o檔案可以由gcc,g++編譯得到,.obj由vc編譯得到。太爽了。以後遇到undefined reference錯誤的時候就可以這個命令搞定了。

舉一例子,在下面的原始碼中呼叫了乙個myprint函式:

#include "lt.h"  

int main(void)  

g++編譯後檢視.o檔案: nm –c test.o

$ nm -c test.o

00000000 b .bss

00000000 d .data

00000000 d .eh_frame

00000000 t .text

u __main

u _imp___z7myprintv

00000000 t main

可見編譯後實際要呼叫的函式是_imp___z7myprintv, 這是乙個dll呼叫,如果在dll中編譯得到的不是這個名字,就會產生undefined reference錯誤了。

Linux 檢視檔案符號表

功能 列出.o a so中的符號資訊,包括諸如符號的值,符號型別及符號名稱等。所謂符號,通常指定義出的函式,全域性變數等等。使用nm options filename 可用的options a 該符號的值在今後的鏈結中將不再改變 b 該符號放在bss段中,通常是那些未初始化的全域性變數 d 該符號放...

linux ls 命令 (檢視檔案列表命令)

ls 引數 檔案目錄 a 檔案下所有檔案 包括.a 目錄下的所有檔案及資料夾 l 所有檔案資料夾的詳情及許可權 r 列出當前目錄及所有子目錄下的檔案 help ls 所有引數大全根據 ls help 獲得 a,all do not ignore entries starting with selin...

強大的list列表解析功能

列表解析表示你可以在一行中使用乙個for迴圈將所有值放到乙個列表當中。列表解析甚至能做更複雜的事情,比如挑選出符合要求的值放入列表。python列表解析屬於python的迭代中的一種,相比python for迴圈速度會快很多。下面看下python列表解析是怎麼工作的。example a x 2 fo...