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.

Astuce : cliquez sur la bare d’adresse et replacez le texte selectionné par ‘wsl’ et tapez sur Entree pour ouvrir wsl dans le répertoire courant.

Astuce : cliquez sur la bare d’adresse et replacez le texte selectionné par ‘wsl’ et tapez sur Entree pour ouvrir wsl dans le répertoire courant.

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.