linux / gcc:来自C/C++程序的ldd功能

前端之家收集整理的这篇文章主要介绍了linux / gcc:来自C/C++程序的ldd功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一种简单有效的方法可以知道给定的动态链接ELF是否缺少必需的.so来运行,所有这些都来自C/C++程序的内部? @H_301_2@我需要一个与ldd具有某些相似功能的程序,而不是试图执行ELF来找出系统中的(met / unmet)依赖项.也许通过一些库询问ld-linux.so实用程序? (我是这部分linux的新手=)

@H_301_2@NOTE: reading the source code of ldd was not very helpful for my intentions: it seems that ldd is in fact forking another process and executing the program.

@H_301_2@如果在不执行程序的情况下无法知道某个程序是否存在未满足的依赖项,那么是否有某种方法可以在我的程序中快速列出所有ELF所需的.so所有内容

@H_301_2@在此先感谢=)

解决方法

根据 ld.so(8),将环境变量LD_TRACE_LOADED_OBJECTS设置为非空字符串将给出类似ldd的结果(而不是正常执行二进制文件或库).
setenv("LD_TRACE_LOADED_OBJECTS","1",1);
FILE *ldd = popen("/lib/libz.so");
原文链接:https://www.f2er.com/linux/393162.html

猜你在找的Linux相关文章