Langage C - Présentation du langage
Chapitre 1 : Présentation
1) Historique
Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie et B.W.Kernighan se sont inspirés des langages B et BCPL, pour créer un nouveau langage : le langage C.
La première définition de ce langage a été donnée dans leur livre commun « The C programming language ».
Toutefois, suite à l'apparition de nombreux compilateurs C, l'ANSI (abréviation de American National Standards Institute) a décidé de normaliser ce langage pour donner ce que l'on appelle le C-ANSI. Suite à cette norme, Ritchie et Kernighan ont sorti une deuxième édition du livre en intégrant les modifications apportées par l'ANSI.
2) La compilation
Le C est un langage compilé (par opposition aux langages interprétés). Cela signifie qu'un programme C est décrit par un fichier texte, appelé fichier source. Ce fichier n'étant évidemment pas exécutable par le microprocesseur, il faut le traduire en langage machine. Cette opération est effectuée par un programme appelé compilateur. a) La pré compilation (préprocesseur)
Le compilateur commence par appliquer chaque instruction passée au préprocesseur (toutes les lignes qui commencent par un #, dont les #define). Ces instructions sont en fait très simples car elles ne consistent en gros qu'à recopier ou supprimer des sections de codes sans chercher à les compiler. C'est de la substitution de texte, ni plus ni moins.
C'est notamment à ce moment-là que les #define présents dans un fichier source (.c ou .cpp) ou dans un header (.h ou .hpp) sont remplacés par du code C/C++. À l'issue de cette étape, il n'y a donc plus, pour le compilateur, d'instructions commençant par un #. b) La compilation
Ensuite, le compilateur compile chaque fichier source (.c et .cpp), c'est-à-dire qu'il crée un fichier binaire (.o) par fichier