【问题标题】:Why is built library so much bigger in size?为什么建库的规模如此之大?
【发布时间】:2014-02-01 01:25:36
【问题描述】:

我下载了一个大小约为 450 MB 的 C++ 库。构建后,库大约需要 2 GB。为什么差别这么大?多余的尺寸都去哪儿了?

我的问题更多的是哲学问题而不是技术问题。我不寻求对我的特定软件问题的确切答案,而是对为什么库大小可能因不同构建场景而异的一般解释。

【问题讨论】:

  • 我的问题实际上比技术更哲学。我不熟悉使用和构建 3rd 方库以及制作自己的构建。因此,我并不寻求对我的特定软件问题的确切答案,而是对为什么库的大小增加这么多的一般解释。谢谢=)

标签: compiler-construction build size shared-libraries static-libraries


【解决方案1】:

许多软件开发语言和编译器的共同点是,任何库的调试版本都将不同于发布版本。

发布版本通常在构建时考虑到大小和性能,发布版本可能会进行优化,可能会去除符号,并且可能会从源代码中删除额外的代码、内存保护、调试助手等(例如,在 C 系列中,通过预处理器定义)。

但是请注意,这并不总是意味着一块发布代码将小于其调试对应部分。例如,在寻找性能时,再次谈到 C 系列,可能会展开循环 - 导致代码更快但更大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2016-07-01
    相关资源
    最近更新 更多