Val*_*ity
6
这部分是一个历史问题.一旦只有静态库.它们静态链接到系统编译的每个二进制文件.然而,这代表了维护噩梦等,如果修补或更改了库,则需要重新编译所有使用的包.
然后共享库来解决这些问题.现在针对您的问题,首先可以在静态链接库中进行一些重要的优化,这些优化不可能在动态库上执行,因此即使将动态库转换为静态库,它也可能效率低于静态库.代码首先静态编译.
其次,大多数现代系统无论如何都只使用共享库,因此没有太多问题,事情只编译一次,作为共享库.
稍微偏僻,无论如何仍然相关,你可能会考虑预先链接.这一步骤可以消除一些启动开销(尽管仍然不一定能达到与静态链接相同的性能),并允许动态链接库中的软件更快地启动.