OS X:有什么方法可以延迟加载依赖库 (.dylib)?

OS X: Any way to DELAY loading of a DEPENDENT library (.dylib)?

C++ 依赖库 .dylib 驻留在位于应用程序包 Content/Frameworks 中的捆绑包中。我想延迟加载依赖库,直到我完成一些特定的初始化。

除了创建运行时加载库之外,还有其他方法吗?使用弱链接选项会阻止 .dylib 在首次引用之前加载吗?

你的意思是延迟链接:

ld -o test test.o -lazy_library /usr/lib/libz.dylib
ld -o test test.o -lazy-lz

当第一个例程来自 Zlib 压缩库时,两者都会加载 运行。问题不在于 运行 在初始化完成之前自定义库中的例程。

弱链接意味着"if library is missing, set all its symbols to NULLs, don't halt"。

注意:用您的库替换 Zlib (/usr/lib/libz.dylib)。