Thông tin

Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn

Tags

Đăng nhập

[1.2] Les compilateurs, exécuteurs de tâches et éditeurs de code [Obligatoire]

Pour réaliser les exercices, vous allez avoir besoin de plusieurs logiciels :

  • Le compilateur GCC qui permet de convertir du code écrit dans le langage C en langage compréhensible par votre ordinateur.
  • L'exécuteur de tâches Make qui permet d'automatiser l'exécution de tâches répétitives qui sont la plupart du temps la compilation de code.
  • L'éditeur de code Visual Studio Code (souvent appelé VSCode) qui permet d'écrire et de modifier du code de manière efficace.

Installation

Si vous avez fait la section précédente, vous devriez déjà avoir installé GCC et Make sur votre ordinateur. Si ce n'est pas le cas, veuillez vous référer à la section précédente pour les instructions d'installation.

Pour installer VSCode, veuillez vous référer aux étapes d'installation sur leur site officiel.

Démarrage de VSCode (Windows)

D'abord, veuillez créer un dossier "IHDCB131" dans vos documents puis ouvrez VSCode.

Ensuite, installez l'extension WSL, démarrez le sous-système Linux (Debian dans la vidéo), installez le C/C++ Extension Pack, puis ouvrez le dossier "IHDCB131" et créez un fichier "main.c".

ATTENTION!
  • Il faut installer le "C/C++ Extension Pack" après avoir démarré le sous-système Linux car l'extension doit être installée dans le sous-système Linux et non pas sur Windows.
  • De plus, n'utilisez pas le bouton "Show Local" car il relance VSCode sans le sous-système Linux.
  • Pour accéder à vos fichiers Windows, vous devez aller dans le dossier "/mnt/c/" du sous-système Linux.

Démarrage de VSCode (Linux/macOS)

D'abord, veuillez créer un dossier "IHDCB131" dans vos documents puis ouvrez VSCode.

Ensuite, comme dans la vidéo ci-dessous, installez le C/C++ Extension Pack, ouvrez le dossier "IHDCB131" et créez un fichier "main.c".

Écriture d'un programme de test : "Hello world"

Dans le fichier "main.c" que vous venez de créer, copiez-collez le code suivant :

#include <stdio.h>

int main(void) {
    printf("Hello world\n");
    return 0;
}
Astuce
Le raccourci pour copier est Ctrl + C et celui pour coller est Ctrl + V.

Vous verrez qu'un petit point blanc apparaît en haut au niveau de l'onglet "main.c", cela signifie que le fichier a été modifié mais pas encore sauvegardé.

./1.2_outils/save.png

Il faut donc le sauvegarder en allant dans le menu "File" puis en cliquant sur "Save".

Astuce
Le raccourci pour sauvegarder est Ctrl + S.

Ouverture du terminal dans VSCode

Pour ouvrir le terminal dans VSCode, allez dans la "menu bar" au dessus puis appuyez sur le bouton "New Terminal" :

./1.2_outils/new-terminal.png

Compilation et exécution du programme

Pour compiler le programme, utilisez la commande suivante :

gcc main.c -o main

  • gcc est le compilateur C
  • main.c est le nom du fichier à compiler
  • -o permet de spécifier le nom du programme compilé
  • main est le nom du programme compilé

Exécutez ensuite le programme compilé avec la commande suivante :

./main
Informations supplémentaires
Le "." dans cette commande fait référence à votre dossier courant donc votre dossier "Documents". Il est aussi possible de faire référence au dossier parent avec "..".

Vous devriez voir le message "Hello world" apparaître dans le terminal.

Création de tâches pour simplifier la compilation

Téléchargez le fichier "Makefile" qui contient les tâches ci-dessous en cliquant ici, puis déplacez-le dans le dossier "IHDCB131" (au même niveau que "main.c") :

compile:
    gcc main.c -o main

run: compile
    ./main

Dans un Makefile, chaque tâche est composé de 3 choses :

  • Un nom suivi de : (compile et run)
  • Les dépendances après les : (aucune pour la tâche run et compile pour la tâche run pour faire en sorte de compiler automatiquement avant d'exécuter le programme)
  • Les commandes à exécuter quand on lance la tâche (gcc main.c -o main pour la tâche compile et ./main pour la tâche run)

Pour lancer une tâche, il faut utiliser la commande make suivi du nom de la tâche, par exemple :

// Pour seulement compiler
make compile

// Pour compiler (grâce à la dépendance) puis exécuter le programme
make run

Câu hỏi 1: À quoi servent ces outils ?

Associez chaque fonction avec l'outil permettant de la réaliser :

Câu hỏi 2: À quoi servent les différentes parties d'un Makefile ?

Associez chaque partie du Makefile suivant à son nom :

run: compile
    ./main