查看.o, .obj文件符號列表,強大的nm命令

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

      舉一例子,在下面的源碼中調用了一個myprint函數:

#include "lt.h"  
int main(void)  
{  
  myprint();  
  return 0;  
}


    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錯誤了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章