Linux中的动态库时序和CPU负载分析

时间:2015-06-23 17:14:05

标签: linux dynamic linker

我正在用一个动态库编写代码。

当我使用dlopen / dlsym调用来访问库函数时,与使用-l动态链接库并直接访问函数相比,cpu加载和执行更多。

任何人都可以帮助理解为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

静态链接在链接时需要更多时间和i / o,因为在链接期间会发生所有绑定。结果是一个可执行文件,无需进一步处理它来调用库代码。

动态加载需要在运行时进行更多工作。它必须在第一次调用之前查找.so文件,打开它并绑定引用的地址。你所测量的是预期和正常的。