隐式动态链接与显式动态链接 - 哪个更有效?
implicit dynamic linking vs explicit dynamic linking - which is more effective?
有两种方法可以link共享库。
一种命名为隐式动态 linking,另一种命名为显式动态 linking.
我用谷歌搜索了一些文档,没有找到文档说明了两者的效率差异。
以一个linux.so文件为例。我的疑问是:隐式 linking 与显式方式相比,显式方式会以某种方式导致更多 IO 或 cpu 或内存吗?
想知道哪种方式更有效,为什么?
非常感谢!
据我了解,隐式动态链接是指您的程序需要库才能 运行,方法是在程序的依赖项部分添加库。如果在程序开始时找不到库,程序将不会执行。
显式动态链接使用类似 "LoadLibrary" (windows) 或 "dlopen" (Linux) 的函数以便在 运行 处加载库时间。这正是插件是什么,以及如何对其进行编码。
现在,进行显式动态链接会增加工作量和复杂性,而且我认为它没有任何理由比隐式动态链接更有效。仅当您别无选择时才使用显式动态链接,例如根据某些 运行 时间值加载库。
有两种方法可以link共享库。
一种命名为隐式动态 linking,另一种命名为显式动态 linking.
我用谷歌搜索了一些文档,没有找到文档说明了两者的效率差异。
以一个linux.so文件为例。我的疑问是:隐式 linking 与显式方式相比,显式方式会以某种方式导致更多 IO 或 cpu 或内存吗?
想知道哪种方式更有效,为什么?
非常感谢!
据我了解,隐式动态链接是指您的程序需要库才能 运行,方法是在程序的依赖项部分添加库。如果在程序开始时找不到库,程序将不会执行。
显式动态链接使用类似 "LoadLibrary" (windows) 或 "dlopen" (Linux) 的函数以便在 运行 处加载库时间。这正是插件是什么,以及如何对其进行编码。
现在,进行显式动态链接会增加工作量和复杂性,而且我认为它没有任何理由比隐式动态链接更有效。仅当您别无选择时才使用显式动态链接,例如根据某些 运行 时间值加载库。