Qu'est-ce qu'une bibliothèque statique?
Une bibliothèque statique est une archive informatique qui contient un groupe de fichiers associés pour faciliter la liaison dans les programmes. Le contenu de cette bibliothèque est généralement constitué de fichiers de code machine non lisibles par les humains. Ces fichiers de code machine sont normalement générés à partir d'une compilation de code ou d'un processus similaire. La plupart des systèmes d'exploitation ont des extensions standard pour les bibliothèques statiques, elles sont donc faciles à identifier, quelle que soit leur taille ou leur contenu.
Les deux types de bibliothèques informatiques sont statiques et dynamiques. Une bibliothèque statique est plus flexible qu'une bibliothèque dynamique car son chemin d'accès exact n'a pas d'importance pour l'exécutable qui l'utilise. Les bibliothèques statiques sont liées dans un fichier exécutable et peuvent ensuite être supprimées si nécessaire car leur contenu a été inclus dans le programme final. Une bibliothèque dynamique ne peut pas être supprimée car son contenu est chargé lors de l'exécution de l'exécutable. Ses emplacements par rapport à l'exécutable et au système d'exploitation sont donc importants. La liaison statique permet de déplacer ou de réutiliser une bibliothèque sans se soucier des chemins d’emplacement absolus.
Contrairement à une bibliothèque dynamique, une bibliothèque statique n'est généralement pas exécutable par elle-même. En C ++, les bibliothèques statiques agissent souvent comme des fichiers objets volumineux. Elles peuvent être liées aux fichiers exécutables de la même manière que les fichiers objets, puis être supprimées sans porter préjudice au programme. Bien qu'il soit souvent possible de renoncer à une bibliothèque statique, elles sont souvent utiles en termes d'organisation. Pour les utilisateurs et les développeurs, il est généralement plus facile d’avoir un seul fichier contenant des informations connexes que d’avoir beaucoup de petits fichiers. De nombreux développeurs construisent des bibliothèques statiques spécifiquement pour cet avantage organisationnel.
Construire une bibliothèque statique est beaucoup plus simple que de construire une bibliothèque dynamique. Le contenu des bibliothèques statiques n'étant pas liées entre elles, elles ne doivent pas être exécutées seules. Un simple archiveur suffit généralement à les créer. La création d'une bibliothèque statique qui ne se lie pas correctement en elle-même n'est pas intrinsèquement dangereuse tant que la bibliothèque est liée à tout autre fichier externe éventuellement nécessaire. Une bibliothèque peut dépendre d'un groupe externe de fichiers objets, ou une bibliothèque peut en dépendre d'un autre. L'utilisation et l'organisation de bibliothèques statiques sont souvent un choix personnel du programmeur plutôt qu'une nécessité, bien que leur mobilité inhérente en fasse souvent un choix souhaitable.