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


原文地址:http://blog.csdn.net/pendle/article/details/5942887

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐