查找库所链接的库版本

查找库所链接的库版本

我有一个在未知 Ubuntu 机器上编译的库,我想确定该机器在编译时使用的 Ubuntu 版本。

我的想法是尝试找到所使用的不同库(例如内核)的版本,并知道这些版本随着不同的版本而变化。我尝试使用nmand ldd,但我似乎找不到任何相关信息。

有什么建议么?

答案1

或许

 readelf -a 

它显示有关 ELF 文件的信息。如果您正在研究的对象仍然包含评论部分,您可以尝试通过以下方式提取它:

 readelf -p .comment yourfile

例如

$ cat test.c
int main () {
  return 0;
}
$ gcc test.c
$ readelf -p .comment a.out

String dump of section '.comment':
  [     0]  GCC: (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1

objdump可以提供相同的信息。

readelf -a如果注释部分被删除,如果它是 C++ 编译库,您可以尝试从命令中读取 GCC 运行时符号版本信息 。请注意,这是提供给编译器的符号版本,不一定是编译器的版本。我不知道追踪 Ubuntu 版本有多大用处。

相关内容