首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态库是在启动时加载的,还是只有在可执行文件需要时才加载?

动态库是在启动时加载的,还是只有在可执行文件需要时才加载?
EN

Stack Overflow用户
提问于 2022-08-31 17:29:39
回答 1查看 23关注 0票数 0

以在Linux上运行的C应用程序为例,它与所需的共享库动态链接。

我知道.so文件应该在环境变量LD_LIBRARY_PATH中定义的路径中找到。

动态链接器是否在应用程序启动时加载此库?或者只能在需要从该库调用函数时才加载它吗?如果是后者,它如何才能真正知道哪个函数属于哪个库?

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 08:26:40

在Linux上,程序启动时加载库。有些系统(例如Windows或Solaris)支持延迟加载特性,将库加载延迟到调用其函数之一(在本例中,静态链接器将将哪些函数所属的信息嵌入到可执行文件中)。

可以使用像Implib.so这样的工具在Linux上模拟延迟加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73559753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档