C Language
#c
Table des matières
À propos 1
Chapitre 1: Démarrer avec le langage C 2
Remarques 2
Compilateurs communs 2
Compiler C version Support 2
Style de code (hors sujet ici): 3
Bibliothèques et API non couvertes par la norme C (et donc hors sujet ici): 4
Versions 4
Examples 4
Bonjour le monde 4
Bonjour c 4
Regardons ce programme simple ligne par ligne 5
Modifier le programme 6
Compiler et exécuter le programme 6
Compiler en utilisant GCC 6
Utiliser le compilateur clang 6
Utilisation du compilateur Microsoft C à partir de la ligne de commande 7
Exécuter le programme 7
Original "Bonjour, Monde!" dans K & R C 7
Chapitre 2: - classification et conversion des personnages 9
Examples 9
Classification des caractères lus dans un flux 9
Classification des caractères d'une chaîne 9
introduction 10
Chapitre 3: Affirmation 13
Introduction 13
Syntaxe 13
Paramètres 13
Remarques 13
Examples 14
Condition préalable et postcondition 14
Assertion simple 15
Affirmation statique 15
Affirmation de code inaccessible 16
Assert Messages d'erreur 17
Chapitre 4: Arguments de ligne de commande 19
Syntaxe 19
Paramètres 19
Remarques 19
Examples 20
Impression des arguments de la ligne de commande 20
Imprimer les arguments dans un programme et convertir en valeurs entières 21
Utiliser les outils GNU getopt 21
Chapitre 5: Arguments variables 25
Introduction 25
Syntaxe 25
Paramètres 25
Remarques 26
Examples 26
Utilisation d'un argument de décompte explicite pour déterminer la longueur de la va_list 26 Utiliser des valeurs de terminateur pour déterminer la fin de va_list 27
Implémenter des fonctions avec une interface semblable à `printf ()` 28
Utiliser une chaîne de format 31
Chapitre 6: Assemblage en ligne 33
Remarques 33
Avantages 33
Les inconvénients 33
Examples 33
gcc Basic asm support 33
gcc Support asm étendu 34
Assemblage en ligne gcc dans les macros 35
Chapitre 7: Atomique 37
Syntaxe 37
Remarques 37
Examples 38
atomiques et opérateurs 38
Chapitre 8: Booléen 39
Remarques 39
Examples 39
Utiliser stdbool.h 39
Utiliser #define 39
Utilisation de _Bool de type intrinsèque (intégré) 40
Entiers et pointeurs dans les expressions booléennes. 40
Définir un type bool en utilisant typedef 41
Chapitre 9: Champs de bits 43
Introduction 43
Syntaxe 43
Paramètres 43
Remarques 43
Examples 43
Champs de bits 43
Utilisation de champs de bits sous forme de petits entiers 45
Alignement du champ binaire 45
Quand les champs de bits sont-ils utiles? 46
À ne pas faire pour les champs de bits 47
Chapitre 10: Classes de stockage 49
Introduction 49
Syntaxe 49
Remarques 49
Durée de stockage 50
Durée de stockage statique 51
Durée de stockage des threads 51
Durée de stockage automatique 51
Liaison externe et interne 51
Examples 52
typedef 52
auto 52
statique 53
externe 54
registre 55
_Thread_local 56
Chapitre 11: commentaires 57
Introduction 57
Syntaxe 57
Examples 57
/ * * / commentaires délimités 57
// commentaires délimités 58
Commenter en utilisant le préprocesseur 58
Piège possible dû aux trigraphes 59
Chapitre 12: Communication interprocessus (IPC) 60
Introduction 60
Examples 60
Sémaphores 60
Exemple 1.1: Course avec des threads 61
Exemple 1.2: Évitez les courses avec les sémaphores 62
Chapitre 13: Compilation 65
Introduction 65
Remarques 65
Examples 66
Le lieur 67
Invocation implicite de l'éditeur de liens 67
Invocation explicite de l'éditeur de liens 67
Options pour l'éditeur de liens 67
Autres options de compilation 68