我有一个在未知 Ubuntu 机器上编译的库,我想确定该机器在编译时使用的 Ubuntu 版本。
我的想法是尝试找到使用的不同库(例如内核)的版本,知道这些版本随不同的发行版而变化。我试过使用nmand ldd,但我似乎找不到任何相关信息。
有什么建议?
也许
readelf -a
Run Code Online (Sandbox Code Playgroud)
它显示有关 ELF 文件的信息。如果你正在研究的对象仍然包含评论部分,你可以尝试通过
readelf -p .comment yourfile
Run Code Online (Sandbox Code Playgroud)
例如
$ 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
Run Code Online (Sandbox Code Playgroud)
objdump 可以提供相同的信息。
如果注释部分被剥离,readelf -a如果它是一个 C++ 编译库,您可以尝试从命令中读取 GCC 运行时符号版本信息 。请注意,这是提供给编译器的符号版本,不一定是编译器的版本。我不知道追踪 Ubuntu 版本有多大用处。
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |