用啥命令查看某个静态库中是不是定义了某个函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用啥命令查看某个静态库中是不是定义了某个函数相关的知识,希望对你有一定的参考价值。

参考技术A nm

http://baike.baidu.com/view/253841.htm

怎么查看so库中某个.a静态库的大小

参考技术A 在链接一个静态库(xxx.a)的时候出现undefined reference error的错误信息。一直不知道怎么搞定,因为我确信已经把所需要的.o编译进来了。
后来使用nm xxx.a命令,查看.a的内部信息发现,所需要的.o确实已经编译了,但在编译的时候被我用宏注释掉了,实在是悲惨唉。撰写程序时多使用合适的工具非常有用,我欠缺这方面的知识,以后要补上了。

查看.a文件都包含了那些文件
ar -t xxx.a
查看.so文件接口
nm -D xxx.so

可以生成四个.o文件,分别是mian.o file1.o file2.o file3.o
然后用ar –r lib.a main.o file1.o file2.o file3.o
即可以生成一个lib.a 的打包文件.
如果要编译代码,我们可以用命令gcc –o test lib.a
即可以生成一个test.exe 的可执行文件

以上是关于用啥命令查看某个静态库中是不是定义了某个函数的主要内容,如果未能解决你的问题,请参考以下文章

如何查看静态库内容 Unix/Linux

Friend函数访问静态库中定义的类的私有成员

Linux的nm命令查看动态库和静态库中的符号

linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库

如何查看DLL中的函数

Linux下的静态链接库和动态链接库