bibliotecas estáticas le permiten crear una biblioteca y utiliza esa biblioteca en muchos proyectos.
La necesidad de archivos de cabecera:
Dado que el proyecto usando la biblioteca está programado y compilado independiente de la biblioteca, que el programa necesita conocer la declaración de las cosas que está utilizando. De lo contrario, ¿cómo sabe su compilador que está escribiendo un código válido?
Un compilador sólo toma código fuente como entrada y produce una salida. No trata con archivos de objetos compilados o bibliotecas estáticas en la entrada.
La necesidad de vincular en la biblioteca:
Así que tener los encabezados que permite escribir código válido en su proyecto, pero cuando se trata de vincular el tiempo que necesitará para proporcionar la definición que figura dentro de la biblioteca estática.
El enlazador toma todos los archivos objeto (código compilado) y también todas las bibliotecas estáticas y produce un ejecutable o binaria.
Más información acerca de las bibliotecas estáticas (beneficios, comparando dinámica, etc ...):
Entre otras cosas, es bueno para separar el proyecto en las bibliotecas para que no terminen con 1 gran proyecto monolítico.
No es necesario distribuir el código fuente (típicamente en los archivos .cpp) de esta manera.
si tuviera que simplemente incluir todos los archivos .cpp en cada proyecto que utiliza la biblioteca común, entonces tendría que compilar los archivos de la .cpp cada vez.
Una ventaja de las bibliotecas estáticas sobre las bibliotecas dinámicas es que siempre puede estar seguro de que sus programas serán independientes y que están utilizando la versión correcta de la biblioteca (ya que se compilan en el ejecutable). También tendrá una ligera ventaja de velocidad sobre los enlaces dinámicos.
Las desventajas de las bibliotecas estáticas sobre las bibliotecas dinámicas incluyen que los tamaños de los archivos serán mayores porque cada ejecutable necesita su propia copia, y que no puede cambiar una versión diferente de la biblioteca ya que no está cargada dinámicamente.
Re pregunta: ¿Cómo las empresas hacer frente a esto:
Una típica empresa hará uso de las dos bibliotecas estáticas y dinámicas ampliamente.
@Brian - Entendido. ¿Tiene una referencia para bibliotecas dinámicas en OS X? – MLS
Otro beneficio para cualquier tipo de biblioteca: tiempo de compilación reducido. – WhirlWind
http://developer.apple.com/Mac/library/documentation/DeveloperTools/Conceptual/DynamicLibraries Y, si está hablando de OS X, es probable que desee estudiar la creación de un marco, que es (básicamente) un camino de empaquetar juntos una biblioteca y los encabezados correspondientes –