« Introduction au langage C/Premier programme » : différence entre les versions

Contenu supprimé Contenu ajouté
Lilly-Wood (discussion | contributions)
orthographe
Ligne 68 :
</source>
 
Lors d'un processus appelé "précompilation", un petit programme que l'on appelle [[Langage C/Le préprocesseur|préprocesseur]] ajoute, supprime et remplace des parties de votre source. Il traite les lignes commençant par le signe #. Cette précompilation fait partie de la chaînechaine de compilation mais ce processus n'est pas lié directement à la compilation elle-même : le préprocesseur ne connaîtconnait pas le langage C. C'est un programme qui manipule du texte.
 
L'option -E du compilateur gcc permet de voir à l'écran le résultat de cette phase.
Ligne 76 :
</source>
 
Le code <code>#include <stdio.h></code> demande au preprocesseurpréprocesseur d'inclure le fichier [[w:en:stdio.h|stdio.h]], qui contient le prototype (la description) de la fonction <code>puts</code>, utilisée plus tard dans le programme. Ce fichier d'extension '''.h''' est situé le plus souvent dans le dossier '''/usr/include''' ou dans un fichier de l'arborescence liée au compilateur, que nous aborderons [[Langage C/Le préprocesseur#Inclusion de fichier|plus tard dans le cours]].
 
Il y a plusieurs manières d'utiliser l'instruction '''#include'''.
Ligne 107 :
</source>
 
L'argument argc donne le nombre d'arguments reçus augmenté de un. L'argument argv donne la liste des arguments passés à l'appel de notre programme. C'est un tableau de chaîneschaines de caractères avec argv[0] : le nom du programme, argv[n] : valeur du paramètre numéro n.
 
Conseil de codage à respecter : [[b:Conseils de codage en C/Lisibilité des sources#Arguments du programme principal (c_lis_10)|c_lis_10]].
Ligne 133 :
=== Utilisation de fonctions ===
 
La bibliothèque standard du langage C fournit les fonctions essentielles d'accès aux entrées et sorties du programme (accès aux fichiers et à l'affichage). Cela peut paraîtreparaitre peu, mais un programme très complexe peut être entièrement construit à partir de ces fonctions.
 
Si une fonction retourne une valeur que l'on souhaite stocker dans une variable, la syntaxe suivante est utilisée pour son appel :
Ligne 182 :
== Génération d'un exécutable ==
 
=== La chaînechaine de compilation ===
 
Le but est d'obtenir un fichier exécutable que vous pourrez faire marcher sur votre ordinateur. La chaînechaine de compilation permet de passer du code source d'un programme à un binaire exécutable.
 
On peut distinguer trois phases principales :
# Le '''preprocessingprétraitement''' : Traitement par le préprocesseur des fichiers sources .c et .h., le résultat est du fichier texte lisible avec un éditeur.
# La '''compilation''' du ou des fichiers issus de l'étape précédente. Cette phase complexe produit des fichiers binaires d'extension .o dans lesquels le texte a été transformé en un langage compréhensible par la machine.
# L''''édition de lien''' qui rassemble les fichiers précédents et d'autres bibliothèques pour produire un fichier exécutable.
 
Pour les programmes simples, il est possible de demander au compilateur C d'enchaînerenchainer les trois phases précédentes et de produire simplement un exécutable compatible avec votre machine.
 
=== Disposer d'un compilateur ===
Ligne 227 :
=== Aide sur les commandes et fonctions C ===
Vous pouvez obtenir de l'aide :
* Sur Internetl’internet;
* Pour les utilisateur UNIX, Linux et Mac à l'aide de la commande [[w:man (Unix)|man]]. Exemple : ''man -s3 printf''
 
=== Projets plus importants ===
Vous pouvez :
* Répartir vos fonctions dans plusieurs fichiers.
* Automatiser la génération des exécutables à l'aide de l'outil [[w:make|make]].
Ligne 238 :
=== Utilisation de bibliothèques ===
 
Une bibliothèque (en anglais, ''library'') est un ensemble de fonctions définies par vous ou un autre programmeur, pour être appelées par votre programme. Cela permet la réutilisation ''briques logicielles'' qui allègeront vos programmes.
 
Elles peuvent être fournies sous forme de code source ou de fichiers binaires à lier à vos programmes (exemple d'extension rencontrées : .a .so .dll). Des fichiers ".h" qui contiennent les prototypes et constantes liées aux fonctions de la bibliothèque et seront inclus dans vos fichiers sources.
Ligne 269 :
==== Framework ====
Certains programmes fournissent même leurs propres bibliothèques pour ajouter des modules et/ou des fonctionnalités à leurs logiciels.
On appelle cet ensemble de bibliothèques propres à un environnement de développement intégré (IDE) un FrameWorkFramework (plate formeplateforme de travail).
 
== TP ==