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

来源:互联网 发布:java 设置md5长度 编辑:程序博客网 时间:2024/06/05 02:18

       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错误了。

原创粉丝点击