Bonjour à tous.
Dans quelle situation doit on utiliser les objets/bibliothèques avec les extension .o et .a?
D'avance merci.
Bonjour à tous.
Dans quelle situation doit on utiliser les objets/bibliothèques avec les extension .o et .a?
D'avance merci.
tu parles je suppose de compilation sous *nix.
les fichiers .o sont les objets individuels à passer au linker pour obtenir un binaire. Les objets peuvent aussi être ajoutés à une librairie statique (.a)
Les fichiers .a sont des librairies statiques à utiliser au link pour produire un binaire qui ne dépend pas d'une librairie dynamique (du moins pas pour cette librairie).
Attention, la différence entre les fichiers .o (pour link statique) et .os (pour produire un .so) ne sont qu'une convention de nommage, rien n'interdit techniquement de produire un objet pour une librairie dynamique et de le nommer en .o. Malgré cela les deux types d'objets ne sont pas interchangeables.
Pour préciser ce qu'a dit therwald, les objets sont le résultat de la compilation de fichier source. Une Archive (.a) ou bibliothèque statique c'est un container ou sont liés les objets.
Partager