ldd提示not a dynamic executable
时间: 2024-03-28 11:36:18 浏览: 390
这个问题通常出现在尝试使用 ldd 命令查看一个非动态链接库文件或者不是 ELF 格式的可执行文件时。因为 ldd 命令只能对动态链接库文件或者 ELF 格式的可执行文件进行检查。
所以如果你使用 ldd 命令查看的是一个非动态链接库文件或者不是 ELF 格式的可执行文件,就会出现 "not a dynamic executable" 的提示。你可以尝试使用其他命令来查看这些文件的信息,比如 file 命令可以用来查看文件类型。
相关问题
linux环境 ldd -r statically linked
在 Linux 环境下,ldd 命令用于显示一个可执行文件或共享库所需要的动态链接库。如果一个可执行文件或共享库被静态链接,那么它们会将所有需要的代码和库都打包进去,不需要在运行时再去查找和加载动态链接库。
因此,当你在使用 ldd 命令检查一个静态链接的可执行文件或共享库时,它会显示类似于以下的信息:
```
not a dynamic executable
```
这是因为静态链接的文件不需要动态加载库。
如果你想要检查一个可执行文件或共享库的链接情况,你需要使用 objdump 命令或 readelf 命令。这些命令可以显示可执行文件或共享库中包含的符号表和节表等信息,以及它们之间的链接关系。
linux查看executable的静态依赖和动态依赖
在Linux下,我们可以使用以下命令查看一个可执行文件的静态依赖:
```
readelf -d executable_file
```
其中,`readelf`是一个可执行文件解析工具,`-d`参数用于显示可执行文件的动态链接器信息。
如果我们想查看一个可执行文件的动态依赖,可以使用以下命令:
```
ldd executable_file
```
其中,`ldd`命令会显示出可执行文件的所有动态链接库依赖关系。需要注意的是,如果可执行文件没有依赖任何动态链接库,`ldd`命令会提示“not a dynamic executable”。
阅读全文