gpt4 book ai didi

c++ - C++ : compiling altogether, 或链接到共享库或静态库哪个更快?

转载 作者:太空宇宙 更新时间:2023-11-04 13:14:12 24 4
gpt4 key购买 nike

论坛上有多个关于共享库与静态库性能的讨论。但是,这些方法与完全编译代码相比如何呢?

在我的例子中,我有一个类(评估代码),它包含一些方法,这些方法包含多个 for 循环,并且将被一个方法调用多次来自另一个类(评估程序代码)。我还没有完成所有的实现和测试。但是,为了性能,我想知道我是应该将所有文件一起编译(编译器优化优势?),还是单独编译一些文件以生成静态库或共享库。

最佳答案

这些方法将取决于您的编译器和选项:

不使用库:一个好的编译器和构建系统将缓存结果,这应该和其他两个一样快。在实践中,许多代码库的划分不够理想,导致编译时间变慢,经典方法是将代码分解为库。

静态:这可能比动态链接慢,因为有机会运行链接时间优化 (LTO),这可能需要一段时间

动态:由于有关如何实现动态加载的具体细节,当您拥有少量功能时可能会更慢。

总而言之,除非您从事的是某个怪物项目,您担心有人会破坏构建系统,否则请将其全部放在一个项目中并避免不必要的复杂调试。

关于c++ - C++ : compiling altogether, 或链接到共享库或静态库哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38215807/

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