gpt4 book ai didi

c++ - 运行时的动态库与静态库

转载 作者:行者123 更新时间:2023-11-28 00:26:46 26 4
gpt4 key购买 nike

如果我有一个项目,其中有两个模块 AB,它们都与第三个库 C 链接。

如果 C 是一个静态库,那么 ABC 的调用是真的吗code> 各自维护一个单独的C 状态?它们有不同的堆吗?

另一方面,如果 C 是一个共享库,那么 AB 将可以访问 的共享状态>C?

附注应用程序入口点在 AB 中。

最佳答案

这取决于您的操作系统,以及您用来编译和运行的选项关联。在 Unix 下,默认情况下,所有常用符号都在两个或多个共享库将解析为第一个库中的名称加载;对于大多数 Unice,这适用于 main 中的名称很好(但是 Linux 中使用的 GNU 链接器需要一个特殊的选项为了这)。在 Windows 下,这有点棘手;每个静态链接库将有自己的状态拷贝,并且有没有简单的解决方法,除了创建第三个 DLL 来包装静态库,并且只能通过其中的符号访问它动态链接库。

关于c++ - 运行时的动态库与静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658873/

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