J'ai regardé autour de vous en ligne aussi bien que dans mon manuel et cela me confondre. P>
Dites que vous avez des fonctions pour des piles dans Stack.con, et vous mettez leurs prototypes à Stack.h. Votre programme principal, disons, test.ca Donc, il inclut les prototypes, mais comment obtient-il leurs implémentations? Les fichiers d'en-tête ne semblent pas nécessiter que vous #include "pile.h" code> en haut. Voici comment tous les exemples montrent. P>
#include pile.c code> avec eux. Il suffit-il de rechercher tous les fichiers .c dans le même dossier et essayez de les trouver? P>
5 Réponses :
non; Il inclut juste l'en-tête.
Vous compilez la source séparément et connectez-le avec votre code qui l'utilise. p>
par exemple (code de jouet): p>
ou: p> Donc, vous compilez les fichiers source (produisant éventuellement des fichiers d'objet) et lidez-les. Souvent, le fichier stack.o code> serait placé dans une bibliothèque (autre que la bibliothèque C standard) et vous reliez à cette bibliothèque. C'est ce qui se passe avec la norme C Bibliothèque de fonctions également, bien sûr. Le compilateur C ajoute automatiquement la bibliothèque C (généralement
-LC code>) à la commande de liaison. P> p>
L'en-tête n'est requis que pour obtenir les prototypes. La mise en œuvre est compilée séparément et assemblée dans la bibliothèque finie ou exécutable par le liant em> . p>
Les fichiers d'en-tête ( *. H code>) sont là simplement pour supporter le compilateur. Les fichiers source individuels sont inclus ensemble au moyen de la liaison. Tout manuel de développement C de base devrait couvrir ceci, mais il existe un «tutoriel» décent de TRES: P>
non. Vous devez compiler et lier des fichiers .C. P>