« Autotools en C/Ajout d'une fonction » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
 
Ligne 4 :
==Ajout d'une fonction==
Ce titre signifie en fait, une fonction contenue dans un autre fichier que ''programme.c''; par conséquent, notre projet s'enrichit d'un fichier...
<sourcesyntaxhighlight lang=c>
/* fonction_affichage.c */
#include <stdio.h>
Ligne 13 :
return 0;
}
</syntaxhighlight>
</source>
... ou plutôt de deux. Il faut prendre l'habitude d'avoir les en-têtes dans un fichier séparé. Cela sera utile pour les tests par exemple et d'une manière générale c'est plus propre pour la réutilisation des fonctions.
<sourcesyntaxhighlight lang=c>
/* entête fonction_affichage.h */
int affichage(char *phrase);
</syntaxhighlight>
</source>
D'ailleurs pour être encore plus propre nous allons mettre ce qu'il faut pour empêcher les inclusions multiples.
<sourcesyntaxhighlight lang=c>
/* entête fonction_affichage.h */
#ifndef FONCTION_AFFICHAGE_H
Ligne 26 :
int affichage(char *phrase);
#endif
</syntaxhighlight>
</source>
Et le fichier principal modifié :
<sourcesyntaxhighlight lang=c>
/* programme.c */
#include "fonction_affichage.h"
Ligne 37 :
return 0;
}
</syntaxhighlight>
</source>
En résumé, nous avons deux nouveaux fichiers : ''fonction_affichage.c'', ''fonction_affichage.h''.
En plus, nous avons modifié ''programme.c''.
Nous avons donc l'arborescence suivante :
<sourcesyntaxhighlight lang=bash>
affichage/
src/
Ligne 47 :
fonction_affichage.c
fonction_affichage.h
</syntaxhighlight>
</source>
 
Il faut en informer le Makefile.am contenu dans ''src/''
<sourcesyntaxhighlight lang=Perl>
bin_PROGRAMS=affichage
affichage_SOURCE=programme.c fonction_affichage.c fonction_affichage.h
</syntaxhighlight>
</source>
 
On peut relancer la compilation qui va mettre ces fichiers à jour :
<sourcesyntaxhighlight lang=bash>
$ make
</syntaxhighlight>
</source>
 
==Mémo==