标签: linux dynamic linker
我正在用一个动态库编写代码。
当我使用dlopen / dlsym调用来访问库函数时,与使用-l动态链接库并直接访问函数相比,cpu加载和执行更多。
-l
任何人都可以帮助理解为什么会这样吗?
答案 0 :(得分:0)
静态链接在链接时需要更多时间和i / o,因为在链接期间会发生所有绑定。结果是一个可执行文件,无需进一步处理它来调用库代码。
动态加载需要在运行时进行更多工作。它必须在第一次调用之前查找.so文件,打开它并绑定引用的地址。你所测量的是预期和正常的。
.so