commit e0f0f3243ec076baa965b91bee2e5171bec80a2f
parent 0e461a59cc517c515cd7e0c7ab24f5caac566445
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Tue, 23 Jun 2026 10:44:48 +0200
Ajoute la section sur la structure des fichiers sources
Diffstat:
| M | doc/fr/star-c.7 | | | 130 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- |
1 file changed, 114 insertions(+), 16 deletions(-)
diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7
@@ -123,23 +123,121 @@ langage utilisé partout ailleurs.
Dans un même souci de portabilité, retenir la première version du
standard POSIX à partir de laquelle la fonctionnalité recherchée est
apparue.
+.Pp
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.Sh LA STRUCTURE D'UN FICHIER SOURCE
+Suivre une seule et même structure pour tous les fichiers
+sources, qu'ils soient des fichiers d'en-tête
+.Pq fichiers Ql *.h
+ou des unités de compilation
+.Pq fichiers Ql *.c .
+Un seul schéma de lecture participant à la clarté du code source.
+.Pp
+Ci-après sont listées les différentes parties d'un fichier source :
+.Bl -enum
+.\""""""""""""""""""""""""""""""""""
+.It
+Un commentaire avec l'avis de copyright et les avis de licence du
+programme
+.Pq section Sx L'AVIS DE COPYRIGHT ET LES AVIS DE LICENCE Ns
+ ;
+.\""""""""""""""""""""""""""""""""""
+.It
+La définition d'une macro qui ajoute au langage C du fichier le support
+d'un standard POSIX
+.Pq section Sx LE LANGAGE C Ns
+ ;
+.\""""""""""""""""""""""""""""""""""
+.It
+Pour un fichier d'en-tête, l'ouverture d'un garde-fou évitant sa double
+inclusion.
+Il est fermé en toute fin du fichier
+.Pq partie 10 Ns
+ :
+.Bd -literal -offset Ds
+#ifndef FOO_H
+#define FOO_H
+.Ed
+.Pp
+Le nom de la macro testée puis définie est celui du fichier d'en-tête,
+suffixé par
+.Ql _H
+en référence à l'extension
+.Ql .h
+du fichier.
+Dans l'exemple qui précède, le garde-fou concerne donc le fichier
+.Pa foo.h .
+La convention d'écriture est sinon celle utilisée pour n'importe quelle
+macro
+.Pq section Sx LES MACROS .
+.\""""""""""""""""""""""""""""""""""
+.It
+L'inclusion des fichiers d'en-tête requis par le fichier source ;
+.Pq section Sx LES FICHIERS D'EN-TÊTE Ns
+ ;
+.\""""""""""""""""""""""""""""""""""
+.It
+La définition des macros
+.Pq section Sx LES MACROS Ns
+ ;
.\""""""""""""""""""""""""""""""""""
-.Ss La structure des fichiers
-.Ss La longueur des lignes
-.Ss L'identation
-.Ss Les commentaires
-.Ss Les fichiers d'en-tête
-.Ss La visibilité des symboles
-.Ss Les blocs
-.Ss Les mots clés
-.Ss Le nommage
-.Ss Les fonctions
-.Ss Les variables
-.Ss Les constantes symboliques
-.Ss Les macros
-.Ss Les allocations dynamiques
-.Ss La gestion des erreurs
-.Ss Les programme en ligne de commande
+.It
+La déclaration anticipée des types structurés :
+.Bd -literal -offset Ds
+/* Type structuré externe au programme */
+struct logger;
+
+/* Type structuré défini ailleurs dans le programme */
+struct foo;
+.Ed
+.\""""""""""""""""""""""""""""""""""
+.It
+La définition des constantes symboliques
+de type
+.Vt enum
+.Pq section Sx LES CONSTANTES SYMBOLIQUES Ns
+ ;
+.\""""""""""""""""""""""""""""""""""
+.It
+La définition des types structurés et de leur(s) constante(s)
+.Pq section Sx LES STRUCTURES Ns
+ ;
+.\""""""""""""""""""""""""""""""""""
+.It
+La déclaration et définition des fonctions
+.Pq section Sx LES FONCTIONS .
+Dans l'ordre qui suit :
+.Pp
+.Bl -tag -compact -width a.
+.It a.
+La déclaration des fonctions ;
+.It b.
+La définition des fonctions statiques ;
+.It c.
+Pour les unités de compilations, la définition des fonctions.
+.El
+.\""""""""""""""""""""""""""""""""""
+.It
+Pour les fichiers d'en-tête, la fin du garde-fou ouvert en 3 pour éviter
+la double inclusion du contenu du fichier.
+.El
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.Sh LES COMMENTAIRES
+.Sh LES FICHIERS D'EN-TÊTE
+.Sh LA VISIBILITÉ DES SYMBOLES
+.Sh LES BLOCS
+.Sh LES MOTS CLÉS
+.Sh LE NOMMAGE
+.Sh LES FONCTIONS
+.Sh LES VARIABLES
+.Sh LES CONSTANTES SYMBOLIQUES
+.Sh LES STRUCTURES
+.Sh LES MACROS
+.Sh LES ALLOCATIONS DYNAMIQUES
+.Sh LA GESTION DES ERREURS
+.Sh LES PROGRAMME EN LIGNE DE COMMANDE
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.Sh FICHIERS
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh VOIR AUSSI
.Xr feature_test_macros 7