Martial Demolins
:
Il faut créer un fichier avec le code de toutes les fonction,
Non, surtout pas! Il faut faire beaucoup de fichiers (compilés séparément, pas de hacks avec
include, sinon ça ne sert à rien) avec le code d'
une fonction chacun, pas l'inverse! Sinon, au linkage, le linker linkera
toutes les fonctions.
faut-il exporter leur nom?
Oui. Sinon, tu penses que le linker va la trouver comment, ta fonction? Par clairvoyance?
(Au fait, techniquement parlant, le linker
peut voir les symboles locaux (non-exportés) si on a assemblé avec les bonnes options, mais ils sont locaux, donc pas considérés pour la résolution de références.)
Et qu'est-ce que le fichier .a, comme j'ai pu voir dans ExtGraph? Ca doit être la compilation du source de la lib je pense
Oui, sauf pour un petit détail: "la compilation
des source
s". Cf. le premier point. Il y a un fichier
.o pour chacun fichier source, et le fichier
.a n'est qu'un arball (le prédécesseur des tarballs, qui n'est utilisé plus que pour ça et pour les paquets
deb) de tous ces fichiers objet.