sha*_*ant 2 command-line firefox shared-library
我正在学习如何找出程序的依赖库的教程,它的解释如下:
whereis firefox
显示安装它的文件夹,获取二进制文件的完整路径,以及ldd /usr/bin/firefox
把它作为 ldd 命令的参数。该教程还以 firefox 为例,因此我肯定会重新创建它,但是当我输入:
whereis firefox
firefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
ldd /usr/bin/firefox
not a dynamic executable
Run Code Online (Sandbox Code Playgroud)
我收到了“不是动态可执行文件”的消息,而不是库列表。为什么?
该firefox
可执行文件是系统上的shell脚本。
一些应用程序使用一个包装器脚本来设置应用程序的执行环境,可能是为了更好地与当前的 Unix 风格集成,或者提供运行应用程序的替代方法(新的命令行选项集等)应用程序本身不提供。有时,包装脚本用于根据调用脚本的方式选择要运行的正确实际二进制文件。
例如,MPI(“消息传递接口”)C 编译器只不过是一个包装脚本cc
(或它设置使用的任何编译器),可确保 MPI 标头位于搜索路径中并且 MPI 库已链接在编译的时候。
看看这个脚本,看看它在什么情况下调用了什么二进制文件。
归档时间: |
|
查看次数: |
899 次 |
最近记录: |