依赖于C ++的库.dylib驻留在应用程序包的Content / Frameworks中的包中。 我想延迟加载该依赖库,直到我完成一些特定的初始化。
有什么办法可以创建一个运行时加载的库吗? 使用弱链接选项会阻止.dylib在首次引用之前加载吗?
A C++ dependent library .dylib resides in a bundle located in the app package's Content/Frameworks. I'd like to DELAY the loading of that dependent library until I've completed some specific initialization.
Is there any way OTHER THAN to create a Runtime-Loaded Library? Would using weak linking options prevent the .dylib from being loaded until first referenced?
最满意答案
你的意思是懒惰的链接:
ld -o test test.o -lazy_library /usr/lib/libz.dylib ld -o test test.o -lazy-lz首次运行Zlib压缩库时,它们都会加载Zlib压缩库。 问题不是在初始化完成之前从自定义库运行例程。
弱链接意味着“如果缺少库,则将其所有符号设置为NULL,不要停止”。
注意:将Zlib( /usr/lib/libz.dylib )替换为库。
You mean lazy linking:
ld -o test test.o -lazy_library /usr/lib/libz.dylib ld -o test test.o -lazy-lzBoth load the Zlib compression library when a routine from it is first run. The problem is not to run the routines from your custom library before the initialization is finished.
Weak linking means "if library is missing, set all its symbols to NULLs, don't halt".
NOTICE: replace Zlib (/usr/lib/libz.dylib) with your library.
更多推荐
发布评论