commit e7149353789d7028f08bd1de73ff961da13c55a8
parent 623b401f9863170f605431ff564d7d289eb9e2e0
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 15 Jul 2026 12:25:27 +0200
Relecture
Diffstat:
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7
@@ -1182,11 +1182,13 @@ if(foo) {
.Ed
.Pp
Dans un même bloc, regrouper les définitions des variables dès lors
-qu'elles sont liés sémantiquements :
+qu'elles sont liés sémantiquements.
+Les trier ensuite par taille mémoire décroissante, et enfin par ordre
+alphabétique :
.Bd -literal -offset Ds
/* Bibliothèque Foo */
-struct foo* foo = NULL;
struct foo_args foo_args = FOO_ARGS_DEFAULT;
+struct foo* foo = NULL;
/* Tableau à traiter */
double* liste = NULL;
@@ -1194,19 +1196,9 @@ int capacite = 0;
int longueur = 0;
.Ed
.Pp
-Pour chaque groupe de variables, les définir par ordre décroissant de
-leur occupation mémoire a priori.
-Définir par exemple les variables structurées avant les variables de
-données simples.
-Cette convention s'inspire des contraintes des compilateurs C
-qui, pour garantir l'alignement des données eu égard à leur type,
-peuvent ajouter des octets de remplissage, augmentant ce faisant
-l'espace mémoire occupée par la fonction.
-Un sourcoût marginal qui néanmoins peut s'avérer significatif pour
-des fonctions appelée récursivement.
-Ordonner les variables par ordre décroissant de leur taille mémoire
-tend à limiter le nombre d'octets de remplissage nécessaire, et donc le
-coût mémoire associé.
+Trier la définition des variables par taille mémoire tend à limiter le
+nombre d'octets de remplissage que le compilateur C ajoute pour garantir
+l'alignement mémoire de chaque variable eu égard à leur type.
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LES CONSTANTES
Utiliser une énumération si les constantes à définir sont liées
@@ -1234,12 +1226,12 @@ ou encore comme valeur vis à vis de laquelle la validité d'une variable
du type énumérée peut être vérifiée :
.Bd -literal -offset Ds
enum molecule {
- H2O,
+ CH4,
+ CO,
CO2,
- O3,
+ H2O,
N2O,
- CO,
- CH4,
+ O3,
NOMBRE_DE_MOLECULES
};
@@ -1249,7 +1241,7 @@ enum molecule {
((unsigned)(Mol) < NOMBRE_DE_MOLECULES)
static const char* NOM_DES_MOLECULES[NOMBRE_DE_MOLECULES] = {
- "H2O", "CO2", "O3", "N2O", "CO", CH4
+ "CH4", "CO", "CO2", "H2O", "N2O", "O3"
};
.Ed
.Pp
@@ -1259,8 +1251,8 @@ Et une macro qui liste ses valeurs par défaut, utilisé pour initialiser
ladite variable :
.Bd -literal -offset Ds
struct foo {
- int bar;
- float baz;
+ float bar;
+ int baz;
};
#define FOO_DEFAULT__ {-1,0}
static const struct foo FOO_DEFAULT = FOO_DEFAULT__;