Premier Programme
Le processeur est la partie de l’ordinateur responsable de l’exécution des programmes. Il évolue dans un espace à une seule dimension et ne peut aller que dans seul sens : le processeur ne peut inverser son sens de marche (rouler en sens arrière), ni à gauche, ni à droite : il suit les instructions séquentiellement, en avançant toujours dans la même direction. Il peut cependant “sauter” vers l’avant ou l’arrière - pour répéter ou éviter certaines instructions.
Cette architecture est apparue de manière empirique comme la plus commode pour faire exécuter des programmes à une machine, et existait déjà dans les orgues de barbarie, boites à musique ou metiers à tisser. On donne parfois à un ordinateur le nom de machine de Turing ou de Von Neumann mais il serait erroné de les réduire à l’une ou l’autre de ces appellations, car elles sont apparues d’un constat empirique et non comme idées originelles.
L’ensemble des instructions exécutées par le processeur se trouve dans la mémoire vive. Le premier programme que l’ordinateur exécute aujourd’hui est un BIOS qui est responsable demettre le programme du système d’exploitation en mémoire. Le système d’exploitation s’exécute de charger les programmes indispensables à son fonctionnement, et permet à l’utilisateur de placer ses propres programmes en mémoire.
En utilisant un système de tourniquet le système d’exploitation donne l’illusion que plusieurs programmes s’exécutent en même temps en allouant une fraction de temps à chaque programme.
Le langage C est compilé, ce qui signifie qu’il est exécuté directement par le processeur, au niveau le plus bas. Un programme en C est traduit par un compilateur en instructions spécifiques au processeur, ce qui lui permet d’être exécuté sans intermédiaire. Pour écrire un programme en C, on a besoin d’un éditeur de texte pour taper le code et d’un compilateur pour le traduire en code exécutable.
Dans ce cours, nous utiliserons le compilateur clang car il est gratuit et disponible sur Linux, Windows et Mac.
Si vous travaillez sur une machine de type Debian ou Ubuntu,
vous pouvez installer facilement tous les outils nécessaires
en utilisant depuis un terminal la commande
sudo apt-get install build-essential
.
Sur windows nous utiliserons WSL (Windows Subsystem for Linux)
avec une distribution Ubuntu et utiliserons la meme commande
que ci-dessus : sudo apt-get install build-essential
.
Pour installer WSL il faut taper wsl
dans la barre de
recherche windows et suivre les instructions.
Dans tous les cas, l’objectif est d’être en mesure de
pouvoir taper « cc
» dans la console et avoir un
message qui indique que le compilateur est installé
et est accessible.
Le premier programme que nous allons écrire affichera
un simple texte à l’écran : "Bonjour à tous !"
.
Avec un éditeur de texte écrivez ceci
#include <stdio.h>
/**
* Ce programme affiche juste un texte
*/
main() {
// printf est une fonction venant de la
// librairie standart, déclarée dans l'entête
// stdio.h
printf("Bonjour a tous !\n");
}
Sauvegardez votre fichier avec l’extension .c
, par exemple bonjour.c
.
Depuis la console entrez la commande suivante cc bonjour.c
,
cela devrait produire un fichier
a.out ou a.exe
sur windows. Un avertissement sur un type de retour
implicite devrait s’afficher.
Si il y a une erreur, compiler en mode Ansi cc -ansi bonjour.c
.
Le programme cc
(C compiler) transforme un fichier
code source écrit en C en programme exécutable.
Pour l’exécuter tapez ./a.out
dans la console :
Bonjour à tous !
devrait s’afficher à l’écran.
Sur Windows, si vous n’utilisez pas WSL,
le programme peut s’apeller a.exe
.