静态库解决了大量相关函数对应用程序可用的问题,然而静态库仍然有一些明显的缺点。静态库和所有的软件一样,需要定期维护和更新。如果应用程序员想要一个库的最新版本,他们必须使用某种形式的更新情况。
共享库是致力于解决静态库缺陷的一个现代创新产物。共享库是一个目标模块,在运行或者加载的时候,可以加载到任意的内存地址,并且和一个在内存中的程序连接起来。
这个过程称为动态链接,是由一个动态连接器的程序来执行。共享库也称为共享目标,在linux系统中通常是用.so后缀来并表示。微软的操作系统大量使用共享库,它们成为DLL。