在将库链接到项目之前编译库有什么好处?
我的理解是,非编译版本(如果可用)将导致较小的总体大小。为什么这不是包含库的首选方式?
答案 0 :(得分:2)
在链接之前,“编译库”是什么意思?您可以将其编译为静态库并链接它,在这种情况下(假设使用LTO)结果与将其作为项目的一部分进行编译相同。您可以将其编译为共享库并链接它。当您的项目只有一个构建工件时,第一种情况将导致更小的总体大小,因此您只会在构建工件中只存在必要的库代码部分。当您的项目有多个构建工件时,第二种情况会导致整体尺寸变小,这样您就可以避免在每个构建工件中避免库代码重复。