动态库引入了其他一些权衡考虑因素:
a.out 文件更小
将库例程绑定推迟到运行时意味着可执行文件的大小要小于同等意义上调用库静态版本的可执行文件;该可执行文件不包含库例程的二进制文件。
进程占用的内存可能更少
当使用库的若干进程同时处于活动状态时,仅有库的一个副本驻留在内存中,为所有进程所共享。
有可能增加系统开销
运行时加载和链接编辑库例程需要额外的处理器时间。另外,库中与位置无关的编码可能要比静态库中可重定位的编码执行得更慢。
有可能提高系统总体性能提高
库共享可减少内存占用,其结果将会改善系统的总体性能(减少了内存交换时的 I/O 访问时间)。
各程序间的性能特征随程序的不同会有很大变化。并非总能预先判断或估计动态库与静态库相比性能会提高(还是降低)。但是,如果所需库的这两种形式对您都可用,则分别评估一下程序使用每种库时的性能还是很值得的。