我试图了解一个封闭源程序的某些部分是如何作为一个剥离的二进制文件来实现的。当我ldd在程序上运行时,它只打印 4-5 个最基本的 C 库作为动态依赖项。(例如libc,glib,gobject等)。然而,当我在gdb运行或附加GDB它和运行info sharedlibrary,它打印一个巨大的库列表。例如,该程序显然将 GTK 用于 GUI,但ldd输出中缺少 gtk 库并显示在info sharedlibrary输出中。
我想知道它是否有效以及他们是如何实现这一目标的。有任何想法吗?
谢谢。