链接共享库(或至少是 Windows DLL)时,可以进行很多优化,并且所有函数和类都被放在一起并重新组织以获得最佳性能(或者我认为/希望如此)。
为什么静态库只是一袋对象?链接器(在时间和性能方面)拥有包含在目标文件中的变量、函数、类等列表不是更好吗,因此在链接使用此库的可执行文件或共享对象时可以从静态库中相互依赖的事物上已经执行的优化传递中获利?
静态库的创建不会花费太多时间(无论如何,只有有限数量的优化是可能的),但是使用这个库的后续构建步骤会更快/最优。
PS:我在这里主要谈论链接时间优化,但是由于所有流行的工具链都以拥有此功能而自豪,我敢肯定这个问题会以某种方式弹出?请不要用以下方式回答这个问题:它一直都是这样,或者兼容性没有人想过要改变它。那不是我要找的...