gpt4 book ai didi

c++ - 依赖于其他 slib 的静态库是否需要它们的实际 'code' 才能工作?

转载 作者:可可西里 更新时间:2023-11-01 16:03:04 25 4
gpt4 key购买 nike

抱歉问题标题模糊,我只是想确定一些事情。

静态库不与其他静态库链接,对吗?

所以当我写一个 slib:A,它使用另一个:B 的功能时,我必须提供的只是 B 到 A 的 header ,而且只有那些,即使 A 实际上使用了 B 的功能?是吗?

只要使用A的exe:X,有没有指定B.lib作为链接器输入?

因此在链接时,链接器采用 A.lib,它基本上只知道 B 的函数在其代码中的某处被调用,并以某种方式从 B.lib 中填充该信息,使 A.lib 成为“完整的”,在 X 与它现在工作的部分链接之前?

这些问题背后的动机是摆脱一些链接器警告 4006 和丢弃的双重定义,我认为这应该可以解决问题,如果这实际上是一种有效的方法的话。

最佳答案

是的,你说得很对。依赖于静态库的可执行文件(和 DLL)在没有解析这些依赖项的情况下无法创建,但是包含对其他静态库的依赖项的静态库不需要在静态库创建时解析这些依赖项。事实上,创建静态库的过程根本不涉及链接器。

关于c++ - 依赖于其他 slib 的静态库是否需要它们的实际 'code' 才能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6206152/

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