The files contained in Unix object libraries have been compiled, but have not yet been linked. During the final phase of building an application, the C compiler or system linker is used to link against the object library. This makes building an application with an object library considerably faster than compiling the separate routines down from source. Object libraries are useful for other reasons as well. They provide a mechanism for combining multiple related functions.
Libraries simplify code re-use, providing ready access to debugged routines.
A standard header file is usually provided for each object library to provide prototypes for library functions. This allows the compiler to verify correct function parameter types for each library call. This library contains object modules that contain the iostream and fstream classes, among others. Note that while header files are not directly related to the concept of a Unix object library, in practice, it is difficult to discuss one without referring to the other. Header files are essential in that they provide the information necessary to interface with an object library.