Bonjour.
Tu sembles avoir compris ce qu'est un (une ?) en-tête. Quant aux bibliothèques, voila une explication vulgarisée mais suffisante pour les manipuler.
Il existe deux type de bibliothèque : les statiques et les dynamiques.
- Les bibliothèques dynamiques (.dll sous windows) sont les plus simple à comprendre. Il s'agit, en gros, d'un exécutable qui ne contient pas de point d'entrée. Un programme (.exe sous windows) a un "ENTRY POINT" qui précise à l'ordinateur où commencer (ce n'est pas au début). Une bibliothèque dynamique n'en a pas, il faut qu'un programme la charge et indique au processeur qu'en faire (exécuter telle ou telle fonction, utiliser telle ou telle donnée ...).
- Les bibliothèque statiques (.lib sous windows) sont un peu plus complexes.
En gros toujours, la seule différence avec la dynamique est qu'elle ne peut être utilisée directement par un programme, c'est ton compilateur qui va, lorsqu'il construira un programme, insérer dans celui-ci les données et fonctions de la biblio. On peut dire qu'une lib est un cpp précompilé ...
Pour finir,
Pour utiliser une dll, il faut : un .h (en-tête) et un .lib (petite, pour le linker) pour le compilateur ; et uniquement l'exécutable et la dll pour l'utilisateur. Le pregramme est séparé en deux modules.
Pour utiliser une lib, il faut un .h pour le compilateur ; et uniquement l'exécutable pour l'utilisateur.
Avantage de la dll : code séparé (plus simple pour mettre à jour, déboguer, simple d'utilisation
Avantages de la lib : seule les fonctions de la lib utilisées par le programme seront compilée, les autres jetées aux oubliettes (taille de l'exe plus faible)
Encore une fois, ce que je dis n'est qu'une vulgarisation, valable dans la plupart des cas simples. J'espère qu'il te premettra de mieux comprendre l'utilité des bibliothèques.
Partager