Bonjour,
je viens de voir dans un vieux programme (fonctions style K&R) quelque chose qui m'intrigue.
Il y a plusieurs fichiers .c et .h
dans les fichiers .c, la définition de certaines fonctions est précédé du mot public :
J'ai d'abord pensé que public était un mot réservé du langage C, mais en fait non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public int search(search_type, pattern, n) int search_type; char *pattern; int n; { /* code */ }
Dans un fichier .h il y a la directive suivante :
et un autre fichier .h contient la liste de toutes les fonctions précédées de ce mot public :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define public /* PUBLIC FUNCTION */
Ces fonctions sont celles qui sont utilisées dans d'autres fichiers que celles où elles ont été définies.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ... public int search (); ...
Quelqu'un pourrait m'expliquer l'astuce ?
Notamment le fait qu'on puisse déclarer
#define unmot
je croyais qu'on devait obligatoirement quelque chose du style :
#define unmot valeur
D'autre part, sur le fait qu'on peut rajouter des mots clés aléatoires? avant la définition d'une fonction
merci d'avance.
arno
Partager