library: 一组被经常使用的函数,被编译成目标文件格式,随时准备连接到程序中。
在HP-UX 环境中,存在两种类型的库。
Archive library: 一组对象模块(object modules).当应用程序需要连接archive libary时,连接器会扫描archive library的内容,并从archive库中提取在程序中未被连接引用(unresolved references)的模块到应用程序的代码区(code section)。
Shared library:也是一组对象模块。但是连接器扫描sharedlibrary的时候,并不会把库中的代码拷贝到应用程序
中。相反,连接器在应用程序的代码区中保留与sharedlibary连接的引用符号。当应用程序运行时,装载器会将shared
libray中被引用的模块拷贝到内存中。如果有多个不同的程序同时连接shared library,那么这些应用程序会共享shared libary中的模块在内存中的拷贝。shared library提高了内存使用的效率,并且使应用程序的二进制更小。
archive libary的文件名格式是libname.a ,shared library 的文件格式名是libname.sl. HP-UX 系统级库存放在/usr/lib。
默认HP-UX连接器会连接使用shared library.
(原文 link:http://docs.hp.com/en/B3906-90006/ch04s01.html)