隐式动态链接与显式动态链接——哪个更有效?

xjk*_*xjk 1 c linker dynamic implicit

有两种方法可以链接共享库。
一种称为隐式动态链接,一种称为显式动态链接。
我在谷歌上搜索了一些文档,但没有找到说明两者效率差异的文档。
以 linux .so 文件为例。我的疑问是:隐式链接与显式方式相比,显式方式会以某种方式导致更多的 IO 或 cpu 或内存吗?
想知道哪种方法更有效,为什么?
多谢 !

Tom*_*m's 5

据我所知,隐式动态链接是通过在程序的依赖项部分添加库来说明您的程序需要库才能运行的事实。如果在程序开始时没有找到该库,则该程序根本不会被执行。

显式动态链接使用“LoadLibrary”(windows)或“dlopen”(Linux)等函数在运行时加载库。这正是插件的含义,以及如何对其进行编码。

现在,进行显式动态链接会增加工作量和复杂性,我认为没有任何理由比隐式动态链接更有效。仅当您不能这样做时才使用显式动态链接,例如根据某些运行时值加载库。