【发布时间】:2011-02-26 18:56:37
【问题描述】:
在基于 unix 的系统中,延迟负载是什么。
我有一个代码foo.cpp,在使用 gcc 编译时,我将它链接到共享对象(总共有三个 .so 文件。)。每个.so 文件都有不同的选项。
./foo -v 需要libversion.so
./foo -update需要libupdate.so
我需要这些库的符号应该只在运行时解析。
./foo -v 不应中断,即使 libupdate.so 库不存在。
它正在使用延迟加载选项(在 dll 的属性中)在 Windows 中工作。它在 unix 系统中的等价物是什么。
-lazy 选项在 UNIX 中的作用是否相同?如果是这样,在哪里包含这个选项:在 makefile 中还是在链接器 ld 中?
【问题讨论】:
-
5 年后我还想听到这个问题的答案。
标签: c unix object linker shared