有沒有任何編程方式(系統調用?)列出Linux上的共享庫依賴項?而不是使用ldd
...列出Linux上共享庫依賴項的編程方式
7
A
回答
0
將LD_TRACE_LOADED_OBJECTS環境變量設置爲非空字符串並運行您的二進制文件。看看this手冊頁。 rpm包的
LD_TRACE_LOADED_OBJECTS
(ELF only) If set to non-empty string, causes the program to list its dynamic library dependencies, as if run by ldd(1), instead of running normally.
4
readelf -Wa lib.so|grep NEEDED
+4
readelf -d lib.so更加高效,因爲它不會「 t需要解碼*全部*信息。此外,這並不提供'ldd'提供的完整(傳遞)依賴項列表;只有直接的。 –
0
這是一個簡單的bash腳本我用自己在Fedora上,它依賴於發現之需要,你可以看看裏面找到,需要找什麼樣的工具內部使用。
#!/bin/bash
#
# Use rpm to recursively list dependencies of all files in a directory
#
# Syntax:
# lsdep path/to/directory
# Example:
# lsdep /usr/src/kernels/`uname -r`/
find $1 -type f -exec sh -c 'res=`echo '{}' | /usr/lib/rpm/find-requires`; [ -n "$res" ] && (echo;echo file '{}'; echo $res)' \;
1
的Gentoo Linux有一個lddtree.sh http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-projects/pax-utils/lddtree.sh?revision=1.22&content-type=text%2Fplain
您可能會發現它有用。
相關問題
- 1. 共享庫,庫依賴性
- 2. 在Android上依賴加載共享庫
- 3. 如何在Linux上確定共享庫依賴路徑?
- 4. 如何以編程方式列出ELF共享庫符號
- 5. 列出Solaris中共享庫的依賴關係
- 6. gcc鏈接共享庫與依賴庫
- 7. 的Android,共享庫的依賴
- 8. 最小化Linux共享庫的依賴關係
- 9. CMake的項目共享依賴
- 10. 加載共享依賴於其他共享庫庫
- 11. 部署Linux遊戲,共享庫/依賴關係
- 12. 用NetBeans隱藏Linux上的共享庫中的二級依賴關係
- 13. OSGi包共享jar依賴項
- 14. 依賴項之間共享屬性
- 15. Weblogic共享庫多個依賴版本
- 16. Matlab mex「缺少依賴共享庫」
- 17. 從dylib中刪除依賴共享庫?
- 18. Linux共享庫
- 19. 與靜態庫依賴項共享的構建
- 20. 共享DLL - 依賴關係
- 21. WPF共享依賴屬性?
- 22. 以C++或c#編程方式在Windows中列出頭文件或依賴項
- 23. cmake項目生成錯誤,共享庫依賴於另一個
- 24. Java:利用依賴項加載共享庫管理器
- 25. cppcms - 共享庫 - Linux
- 26. Linux共享庫C++
- 27. 列出SNAPSHOT依賴項
- 28. 如何共享一組DLL,依賴項和示例程序?
- 29. 爲Linux重新編譯共享Android庫
- 30. linux共享c庫不共享
system(「ldd myfile」);? –
只是一個真正的答案到達之前的通用答案:你總是可以檢查程序的源代碼(在這種情況下'ldd')來查看它的功能。 –