Outils pour utilisateurs

Outils du site


lang:c:attribut

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:c:attribut [2020/07/15 08:34] – [__attribute__((const)) et __attribute__((pure))] : ajout d'une source rootlang:c:attribut [2021/01/05 21:50] (Version actuelle) – [restrict] : ajout du code source root
Ligne 65: Ligne 65:
  
 {{gh>https://github.com/bansan85/wiki_le_garrec_fr_travis/blob/master/cpp/attribute/weak1.out}} {{gh>https://github.com/bansan85/wiki_le_garrec_fr_travis/blob/master/cpp/attribute/weak1.out}}
 +
 +====restrict====
 +
 +Mot clé pour indiquer qu'une zone mémoire n'est accédée que par un seul pointeur. Cette restriction n'est évidemment pas thread-safe.
 +
 +Voir l'exemple de Wikipédia sur [[https://fr.m.wikipedia.org/wiki/Restrict|restrict]] {{ :lang:c:attribut:restrict_wikipedia_04_01_2021_20_34_41_.html |Archive du 16/04/2020 le 04/01/2021}}.
 +
 +^Source^Code généré^
 +|{{gh>https://github.com/bansan85/wiki_le_garrec_fr/blob/master/cpp/attribute/restrict1.c 2}}|{{gh>https://github.com/bansan85/wiki_le_garrec_fr_travis/blob/master/cpp/attribute/restrict1.c.asm 3}}|
 +|{{gh>https://github.com/bansan85/wiki_le_garrec_fr/blob/master/cpp/attribute/restrict2.c 3}}|{{gh>https://github.com/bansan85/wiki_le_garrec_fr_travis/blob/master/cpp/attribute/restrict2.c.asm 3}}|
 +
 +Avec ''restrict'', il n'y a pas besoin de relire le contenu de ''*val'' entre les deux instructions.
lang/c/attribut.1594794882.txt.gz · Dernière modification : 2020/07/15 08:34 de root