gpt4 book ai didi

c++ - g++ 会将我的程序与它不使用的库中的类链接起来吗?

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

我创建了一个简单的静态库,包含在 .a 文件中。我可能会在各种项目中使用它,其中一些根本不需要 90%。例如,如果我想在 AVR 微型计算机上使用神经网络(它是我的库的一部分),我可能不需要大量其他东西,但是在我的代码中链接这些东西会不会产生一个相当大的文件?

我打算像这样编译程序:

g++ myProg.cpp myLib.a -o prog

最佳答案

G++ 只会从您的库中提取它需要的目标文件,但这意味着如果使用来自单个目标文件的一个符号,则该目标文件中的所有内容都会添加到您的可执行文件中。

一个源文件变成一个目标文件,因此只有在确定需要一起使用时才在逻辑上将它们组合在一起是有意义的。

这种做法因编译器而异(实际上因链接器而异)。例如,Microsoft 链接器会将目标文件分开并仅包含实际需要的部分。

关于c++ - g++ 会将我的程序与它不使用的库中的类链接起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12652393/

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