lang:c:attribut
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| lang:c:attribut [2020/07/13 22:39] – [__attribute__((weak))] : amélioration des explications root | lang:c:attribut [2021/01/05 21:50] (Version actuelle) – [restrict] : ajout du code source root | ||
|---|---|---|---|
| Ligne 27: | Ligne 27: | ||
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| Rappel : l’attribut '' | Rappel : l’attribut '' | ||
| + | |||
| + | [[https:// | ||
| </ | </ | ||
| Ligne 43: | Ligne 45: | ||
| ====__attribute__((weak)) et extern==== | ====__attribute__((weak)) et extern==== | ||
| + | |||
| + | * Explication | ||
| + | |||
| Cette information va être utile au lieur. | Cette information va être utile au lieur. | ||
| Ligne 49: | Ligne 54: | ||
| Il est aussi possible de définir un prototype ou la déclaration d'une variable globale '' | Il est aussi possible de définir un prototype ou la déclaration d'une variable globale '' | ||
| - | <code c> | + | * Exemple |
| - | #include < | + | |
| - | // Défini dans le header | + | {{gh> |
| - | extern int __attribute__((weak)) variable; | + | |
| - | extern unsigned char __attribute__((weak)) variableNull; | + | |
| - | // Défini dans le code source. | + | Symboles : |
| - | int __attribute__((weak)) variable = 1; | + | |
| - | int main() | + | {{gh> |
| - | { | + | |
| - | | + | |
| - | std::cout << reinterpret_cast< | + | |
| - | | + | |
| - | std::cout << reinterpret_cast< | + | |
| - | } | + | |
| - | </ | + | |
| Résultat dans la sortie standard: | Résultat dans la sortie standard: | ||
| - | <code> | + | {{gh>https:// |
| - | 6295640 vaut 1 | + | |
| - | 0 est nullptr. | + | ====restrict==== |
| - | </code> | + | |
| + | 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' | ||
| + | |||
| + | ^Source^Code généré^ | ||
| + | |{{gh>https:// | ||
| + | |{{gh> | ||
| + | |||
| + | Avec '' | ||
lang/c/attribut.1594672756.txt.gz · Dernière modification : de root
