commit 5fccf10ac0e96e168ef19622eb1e6e13b7867075
parent ca972025a3aec6dd1eacc7e9646e56496b6b77dc
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 1 Jul 2026 11:45:32 +0200
Relecture
Diffstat:
| M | doc/fr/star-c.7 | | | 96 | +++++++++++++++++++++++++++++++++++++++++++------------------------------------ |
1 file changed, 52 insertions(+), 44 deletions(-)
diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7
@@ -15,7 +15,7 @@
.\" Vous devez avoir reçu une copie de la GNU General Public License en
.\" même temps que Star-Style ; si ce n'est pas le cas, consultez
.\" <http://www.gnu.org/licenses>.
-.Dd June 30, 2026
+.Dd July 1, 2026
.Dt STAR-C 7
.Os
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -166,9 +166,9 @@ en référence à l'extension
du fichier.
Dans l'exemple qui précède, le garde-fou concerne donc le fichier
.In foo.h .
-La convention d'écriture est sinon celle utilisée pour n'importe quelle
+La convention de nommage est sinon celle utilisée pour n'importe quelle
macro
-.Pq section Sx LES MACROS .
+.Pq section Sx LE NOMMAGE .
.\""""""""""""""""""""""""""""""""""
.It
L'inclusion des fichiers d'en-tête requis par le fichier source ;
@@ -183,16 +183,18 @@ La définition des macros
.It
La déclaration anticipée des types structurés :
.Bd -literal -offset Ds
-/* Type structuré externe au programme */
-struct logger;
+/* Type structurés externes au programme */
+struct plugh;
+struct quux;
+struct xyzzy;
-/* Type structuré défini ailleurs dans le programme */
+/* Types structurés définis ailleurs dans le programme */
+struct bar;
struct foo;
.Ed
.\""""""""""""""""""""""""""""""""""
.It
-La définition des constantes symboliques
-de type
+La définition des constantes symboliques de type
.Vt enum
.Pq section Sx LES CONSTANTES SYMBOLIQUES Ns
;
@@ -213,7 +215,7 @@ 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.
+Pour les unités de compilation, la définition des fonctions.
.El
.\""""""""""""""""""""""""""""""""""
.It
@@ -263,8 +265,10 @@ Conclure chaque avis par l'adresse de contact de l'auteur(e), donnée
entre parenthèses.
.Pp
Sauter une ligne après l'avis de copyright et ajouter la déclaration
-autorisant la copie telle que donnée par la Foundation pour le logiciel
+autorisant la copie telle que donnée par la Fondation pour le logiciel
libre.
+Utiliser l'avis de copyright en anglais qui, au contraire de sa
+traduction française, revêt une signification juridique.
.Pp
L'en-tête type d'un fichier source du programme
.Ql Foo
@@ -401,7 +405,7 @@ si, respectivement, la ligne précède ou suit l'intitulé de la section :
* Définition des fonctions utilitaires
**********************************************************/
static void
-process_chunk(uint32_t state[4], const char chunk[64])
+foo(uint32_t bar[4], const char baz[64])
{
...
}
@@ -433,9 +437,9 @@ Inclure les fichiers d'en-tête dans l'ordre qui suit :
.It
les en-têtes locaux au programme ;
.It
-les en-têtes des dépendances ;
+les en-têtes des dépendances du programme ;
.It
-les en-têtes systèmes et de la bibliothèque C standard.
+les en-têtes systèmes et ceux de la bibliothèque C standard.
.El
.Pp
Les fichiers d'en-tête sont ainsi inclus dans l'ordre décroissant de
@@ -518,10 +522,12 @@ du compilateur C
.Sy EXPORT_SYM
et
.Sy IMPORT_SYM
-des directives définies dans la bibliothèque RSys.
+des directives définies dans la bibliothèque
+.Ql RSys .
Elles enrichissent le langage C d'une gestion explicite de la visibilité
des symboles.
.El
+.Pp
Utiliser cette macro à la déclaration des variables et constantes
d'interfaces :
.Bd -literal -offset Ds
@@ -530,12 +536,12 @@ FOO_API const struct foo foo_plugh;
FOO_API const struct foo foo_xyzzy;
.Ed
.Pp
-Déclarer en plus le prototype des fonctions d'interface entre les
-directives
+Déclarer le prototype des fonctions d'interface entre les directives
.Sy BEGIN_DECLS
et
.Sy END_DECLS ,
-elles aussi définies dans la bibliothèque RSys
+elles aussi définies dans la bibliothèque
+.Ql RSys
.Pq en-tête In rsys/rsys.h .
Ainsi, le fichier d'en-tête peut être inclus par un programe C++ :
.Bd -literal -offset Ds
@@ -559,8 +565,9 @@ Pour les fichiers d'en-tête internes au programme, utiliser la directive
.Sy LOCAL_SYM ,
définie dans le fichier
.In rsys/rsys.h
-de la bibliothèque RSys, pour déclarer les variables globales et
-prototypes de fonctions.
+de la bibliothèque
+.Ql RSys ,
+pour déclarer les variables globales et prototypes de fonctions.
Ainsi leur symbole n'est pas exposé à l'extérieur du programme.
.Bd -literal -offset Ds
#include <rsys/rsys.h>
@@ -584,16 +591,16 @@ de
Utiliser
.Sy LOCAL_SYM
permet néanmoins de s'exonérer de cet a priori, tout en uniformisant
-les déclaration des fonctions et variables où, pour chacune d'elles, la
-visibilité du symbole associé est alors explicite.
+les déclaration des fonctions et variables en explicitant pour chaque
+déclaration la visibilité du symbole associé.
.\""""""""""""""""""""""""""""""""""
.Ss Les symboles internes à une unité de compilation
Utiliser le mot clé
.Ql static
-pour déclarer des variables constantes, et fonctions visibles uniquement
-au sein d'une unité de compilation.
+pour déclarer des variables, constantes, et fonctions visibles
+uniquement au sein d'une unité de compilation.
.Pp
-C'est notamment le cas de constantes symboliques structurée :
+C'est notamment le cas des constantes symboliques structurées :
.Bd -literal -offset Ds
struct foo {
int bar;
@@ -616,11 +623,12 @@ Ces fonctions peuvent en plus être déclarées avec la directive
.Sy INLINE ,
définie dans l'en-tête
.In rsys/rsys.h
-de la bibliothèque RSys,
+de la bibliothèque
+.Ql RSys ,
pour suggérer au compilateur de substituer l'appel de la fonction par le
-corps de celle-ci, de sorte à éviter le sur coût de l'appel.
+corps de celle-ci, de sorte à éviter le surcoût de l'appel.
Cette directive est équivalente au mot clé
-.Sy inline
+.Ql inline
du C99, indisponible dans le dialecte C retenu
.Pq section Sx LE LANGAGE C .
.Bd -literal -offset Ds
@@ -670,7 +678,7 @@ foo(void)
.Ed
.Pp
Fermer un bloc sur une ligne à part sauf s'il est suivi d'une nouvelle
-structure de contrôle associé à la précédente
+structure de contrôle associée à la précédente
.Po
.Ql if else ,
.Ql do while
@@ -681,7 +689,7 @@ utilisée pour fermer le bloc, en la séparant du caractère
par un espace.
.Pp
Aligner la fermeture du bloc à l'indentation de sa directive, ou, dans
-le cas de directives qui se suivent, de l'indentation de la première
+le cas de directives qui se suivent, à l'indentation de la première
directive à l'origine des blocs successifs :
.Bd -literal -offset Ds
if (foo) {
@@ -764,11 +772,12 @@ même si l'ensemble des valeurs que pourraient prendre l'expression du
.Ql switch
est censé être couvert par les différents
.Ql case .
-C'est notamment le cas quand l'expression est une variables de type
-.Vt enum .
+C'est notamment le cas quand l'expression est une variable
+d'énumération.
Utiliser alors la directive
.Sy FATAL ,
-définie par la bibliothèque RSys
+définie par la bibliothèque
+.Ql RSys
.Pq en-tête In rsys/rsys.h ,
pour signifier un comportement inattendu.
Et ainsi pouvoir diagnostiquer une erreur dans la valeur de l'expression
@@ -790,7 +799,8 @@ Ajouter la directive
.Sy FALLTHROUGH ,
définie dans le fichier d'en-tête
.In rsys/rsys.h
-de la bibliothèque RSys,
+de la bibliothèque
+.Ql RSys ,
en fin des instructions
.Ql case
qui s'enchaînent.
@@ -845,7 +855,7 @@ reste plus clair que
.Va tableau Ns Bq Va indice .
.Pp
Les variables globales sont au contraire à nommer de sorte à décrire ce
-qu'elles représentent, indépendemment de tout contexte d'utilisation,
+qu'elles représentent, indépendamment de tout contexte d'utilisation,
par construction distant de leur déclaration.
Un compteur d'allocations dynamiques global à un programme aura donc
pour nom
@@ -854,7 +864,7 @@ plutôt que
.Va cpt_allocs .
.\""""""""""""""""""""""""""""""""""
.Ss Les fonctions
-Nommer les fonctions avec des caractères alpha numérique en miniscules,
+Nommer les fonctions avec des caractères alphanumérique en minuscules,
et séparer les termes qui composent leur nom par un tiret bas
.Pq caractère Ql _ .
.Pp
@@ -865,8 +875,7 @@ Une fonction utilitaire pourra se contenter d'un nom abrégé, tel que
pour une fonction de comparaison utilisée comme argument d'un appel à
.Xr qsort 3
au sein d'un fichier C.
-.Pp
-Là où une fonction partagée entre plusieurs unitées de compilation aura
+Là où une fonction partagée entre plusieurs unités de compilation aura
un nom plus expressif, tel que
.Fn compare_bar ,
pour notamment expliciter le type
@@ -884,7 +893,7 @@ Utiliser des caractères alphanumériques en minuscules pour nommer les
structures, unions et énumérations.
Utiliser le tiret bas
.Ql _
-pour séparer les différents termes qui composent le nom.
+pour séparer les différents termes qui composent leur nom.
.Bd -literal -offset Ds
struct foo {
int bar;
@@ -902,7 +911,7 @@ Utiliser la même convention pour nommer les déclarations typedef.
.Ql _T
ajouté au nom de l'identificateur du type, en écho au suffixe
.Ql _t
-souvent utilisé pour les déclarations typedef mais réservé par le
+souvent utilisé pour ce type de déclaration mais réservé par le
standard POSIX.
.Bd -literal -offset Ds
typedef int foo_T;
@@ -922,9 +931,8 @@ les termes qui composent le nom des constantes.
#define FOO_BAR 42
enum foo {
- BAR,
- BAZ,
- QUX,
+ BAR_BAZ,
+ QUX
};
.Ed
.Pp
@@ -932,8 +940,8 @@ Pour les arguments de macros, utiliser la convention typographique dite
.Dq camel case
en séparant les termes qui composent le nom de l'argument par une
variation de la casse typographique.
-Chaque terme débute par une majuscule, suivi de chiffres ou de
-caractères alphanumériques en minuscule :
+Chaque terme débute par une majuscule, suivi de caractères
+alphanumériques en minuscule :
.Bd -literal -offset Ds
#define FOO(Bar, Qux) ((Bar) + (Bux))
.Ed