gpt4 book ai didi

c++ - 如何找出依赖于 LIB 文件的 DLL 列表?

转载 作者:行者123 更新时间:2023-11-28 05:04:34 25 4
gpt4 key购买 nike

由于我的项目非常庞大,在调试时我手动禁用了 Visual Studio 中所有模块的加载,然后启用那些我必须调试的 DLL。这按预期工作。

但由于 Visual Studio 中的模块列表不包含 LIB 文件,我如何调试特定静态库中的代码?

是否有一个选项可以查看链接到库文件 (.lib) 的 DLL 列表?

最佳答案

静态库不与任何东西链接。它只是一袋您提供给链接器的目标文件,从中选择它需要在你的程序中定义外部符号。它从静态库中提取它需要的目标文件并将它们嵌入到您的程序中。

所以,假设abc.lib包含目标文件 a.obj , b.obj , c.obj .你建立一个程序prog通过链接main.objabc.lib . main.obj需要在 a.obj 中定义的内容加上 c.obj 中定义的内容但在 b.obj 中没有定义.那么prog与简单地链接三个目标文件完全一样 main.obj , a.obj , c.obj并没有提到abc.lib完全没有。

现在a.objc.obj可能会调用外部定义的函数一个或多个 DLL。也许main.obj调用外部函数在相同或其他 DLL 中定义。 prog必须与那些 DLL - 不多也不少。 main.obj的DLL依赖+ a.obj + c.obj是你的 prog 的 DLL 依赖项,反之亦然。链接 abc.lib 没有隐藏任何内容而不是 a.objc.obj .

关于c++ - 如何找出依赖于 LIB 文件的 DLL 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45139306/

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