gpt4 book ai didi

c++ - 优化 : . cpp 或 .obj/.o 或 .lib/.a

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:07 25 4
gpt4 key购买 nike

我有一堆代码可以放在单独的库中,但我不确定这将如何影响编译器的优化能力。

选项 1:直接将代码包含在项目中并将其与其他所有内容一起编译。

选项 2:构建 .obj/.o 文件并在构建项目时简单地使用它们。

选项 3:创建一个静态库(.lib 或 .a)并在构建项目时与之链接。

现在,我的问题是:其中哪一个会提供最佳性能?如果您可以讨论/解释每个选项对编译器优化的影响,那将是非常棒的!

提前致谢:-)

最佳答案

性能应该没有区别:

.a 文件只是.o 文件的存档。链接器对它们的处理方式相同(除了 .a 文件需要先解包)。

直接将所有源编译在一起将仍然导致所有编译单元被单独编译,然后链接在一起。只是编译器隐藏了它并在背后调用了链接器。然而,工作与首先单独编译编译单元然后在显式步骤中将它们链接在一起时的工作相同。

关于c++ - 优化 : . cpp 或 .obj/.o 或 .lib/.a,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298911/

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