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

时间:2018-03-14 15:34:19

标签: c dynamic linker implicit

链接共享库有两种方法 一个名为隐式动态链接,一个名为显式动态链接 我用google搜索了一些没有找到的文档。文档说明了两者的效率差异 以linux .so文件为例。我的疑问是:隐式链接与显式方式比较,显式方式会不会以某种方式导致更多IO或cpu或内存? 想知道哪种方式更有效,为什么? 非常感谢!

1 个答案:

答案 0 :(得分:3)

据我所知,隐式动态链接是指通过在程序的依赖项部分添加库,您的程序需要库才能运行。如果在程序开头找不到库,则程序将不会被执行。

显式动态链接使用“LoadLibrary”(windows)或“dlopen”(Linux)之类的函数,以便在运行时加载库。这正是一个插件,以及如何编写它。

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