gpt4 book ai didi

c++ - 可选共享库

转载 作者:可可西里 更新时间:2023-11-01 15:27:11 26 4
gpt4 key购买 nike

我注意到依赖共享库的应用程序失败:如果您缺少某些依赖项,应用程序将在加载时失败即使用户无意使用依赖项的功能。

我希望我的应用程序比这更好。理想情况下,与其分发多达 n 个不同的包,其中 n = numberOfSupportedArchitectures * numberOfSupportedOS * ‖(对于每个共享库)(备选方案的数量)当发现我想要但不需要的库不存在时,我会在加载时发现“加载共享库时出错”异常,然后以一种简单地避免使用未解析链接的方式继续执行担心的。但显然没有人能捕获异常(exception)。如果缺少某些东西,它甚至在 main() 开始之前就全部折叠了。

我最接近控制加载过程的方法是自己使用 dlopen、dlsym 等解决所有链接。太烦人了。我希望已经有一个图书馆可以为我做这件事?

我注意到这在基于源代码的发行版或 Windows 上都不是问题。我打算将二进制包放入标签中,但显然我没有硬币标签的代表。

'似乎最优雅的解决方案在于改进操作系统的加载器/链接器的行为。

最佳答案

可以看看weak symbols .然而,这不是 C 或 C++ 标准的一部分——因此有点依赖于编译器。但是,如果您打算使用 GCC,我想它会适合您。

关于c++ - 可选共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com