Premiers pas

Ce cours d’apprentissage du langage C nécessite une machine équipée avec :

  1. un système d’exploitation Linux (Ubuntu ou équivalent) ;

  2. le compilateur gcc ;

  3. et l’environnement de développement VS Code.

Si la machine est équipée nativement d’un OS Linux ou MacOS, passer directement à l’étape 2.

1. Installer Linux sur une machine Windows

Sur une machine Windows, il faut installer WSL2, une architecture permettant de faire tourner un vrai noyau Linux. Cette solution est plus légère qu’une machine virtuelle VirtualBox ou VMware.

../_images/wsl2.svg

A faire…

Suivre toutes les étapes de ce tutorial pour installer WSL2/Ubuntu sur une machine Windows :

  • Install WSL ;

  • Install Ubuntu WSL ;

  • Configure Ubuntu. Il est efficace de choisir le même username/password que celui de votre compte ESIEE. Lorsque vous rentrez un mot de passe, le terminal n’affiche rien. C’est normal. Il faut taper le mot de passe normalement et valider avec la touche Entrée.

A l’issue de l’installation, la distribution Ubuntu apparait comme une application Windows dans le menu démarrer. Il suffira de lancer cette application pour démarrer un terminal Ubuntu.

../_images/ubuntu.png

Le terminal est un vrai terminal Linux qui permet d’installer des paquets, de compiler des programmes, etc…


../_images/terminal-ubuntu.png

Le système de fichiers Linux est accessible depuis Windows.


../_images/filesystem.png

Réciproquement, le système de fichier Windows, est accessible depuis le terminal Ubuntu. Par exemple, le répertoire Windows C:\Users\user est accessible via le répertoire Ubuntu /mnt/c/Users/user.

L’étape suivante consiste à installer le compilateur gcc.

2. Installer le compilateur gcc

On suppose à partir de maintenant que l’on se trouve dans un environnement Windows WSL2/Ubuntu (les choses sont très similaires pour un environnement Linux natif).

Avertissement

Dans l’environnement MacOS, il faut installer XCode.

Dans un terminal, lancer la commande gcc --version.

Si le terminal affiche l’information demandée, le compilateur gcc est déjà installé.

Si le terminal affiche une erreur, il faut installer gcc avec:

$ sudo apt update
$ sudo apt install build-essential

A l’issue de cette opération, la commande gcc --version doit fonctionner:

$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

3. Installer VS Code

S’il n’est pas déjà installé, l’étape suivante consiste à installer l’environnement de développement VS Code.

La procédure d’installation est décrite ci dessous en fonction du système d’exploitation natif :

On installera a minima l’extension C/C++ qui fournit une aide très utile (coloration syntaxique, auto complétion, formatage du code, etc…)

4. Un premier programme

Pour vérifier que la machine est correctement installée, on va dérouler le processus de création/compilation/exécution d’un programme minimal et vérifier son bon fonctionnement.

Pour la suite, on se place dans un environnement Windows WSL2/Ubuntu (un environnement différent n’induit que des modifications mineures dans ce qui va suivre).

On suppose qu’il existe un utilisateur Windows user déclaré sur cette machine (dans les commandes ci dessous user sera remplacé par votre propre nom d’utilisateur).

Avec l’explorateur de fichiers Windows, créer un répertoire de travail CoursC sur le bureau.

Démarrer un terminal WSL2/Ubuntu, et se placer dans le répertoire de travail précédent:

$ cd /mnt/c/Users/user/desktop/CoursC
$ pwd
/mnt/c/Users/user/Desktop/CoursC

Ouvrir Visual Studio Code depuis le menu démarrer de Windows, puis se placer dans le répertoire de travail précédent avec File > Open Folder....

Créer un nouveau fichier hello.c et y copier/coller le programme ci dessous:

1#include <stdio.h>
2
3int main(){
4    printf("Hello World !");
5    return 0;
6}

Créer un programme exécutable hello avec la commande:

$ gcc -std=c99 -Wall -Wextra hello.c -o hello

Les options de compilation -std, -Wall, -Wextra seront abordées ultérieurement.

La compilation doit se dérouler sans erreur et un fichier hello doit se trouver dans le répertoire avec le fichier source hello.c:

$ ls
$ hello  hello.c

Lancer le fichier exécutable. La chaine de caractères Hello World ! doit s’afficher:

$ ./hello
Hello World !

La machine est maintenant correctement configurée pour démarrer le cours proprement dit.