CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
Environnements de développement pour programmer en C et en C++

Table des matières

Si des informations sur cette page sont incomplètes / non à jour, n'hésitez pas à le signaler en envoyant un courriel à Dominique Marcadet

1. Informations générales

1.1. Support des standards

1.2. Liens utiles

2. Environnements légers (navigateur) en local ou distant

Seul un navigateur est nécessaire sur son poste
Il faut une connexion internet en permanence (quand ce n'est pas en local)
Il faut utiliser les commandes shell dès que le projet dépasse le stade du petit exercice
Il faut refaire sa configuration git à chaque nouveau projet

2.1. Docker (local)

  • L'image, proposée ci-dessous pour MyDocker, peut aussi être utilisée sur votre poste si vous y avez installé Docker Desktop.
  • Voir ici.

2.2. MyDocker (distant)

Solution conseillée


  • Demandez la création d'un environnement sur MyDocker (le bon lien figure sur la page Wiki de votre cours)
  • CMake, Valgrind, Boost, Google Test et oneTbb sont disponibles.

Vous pouvez, via cette solution, partager à distance votre code avec votre encadrant en lui fournissant votre URL.


*

2.1. Replit (distant)

Utilisation

REPL est un acronyme de Read-Eval-Print Loop qui décrit le fonctionnement général d'un interpréteur de langage de programmation.

  • Un fichier main.c ou main.cpp avec un contenu hello world est automatiquement créé (vous pouvez créer d'autres fichiers), son contenu est automatiquement enregistré.
  • Le bouton   ► Run   permet de lancer la compilation de ce fichier puis son exécution.
  • Pour un programme réparti sur plusieurs fichiers sources, vous devez modifier le Makefile ou taper vous-même les commandes de compilation, d'édition de liens et d'exécution.

Bouton Invite

Vous pouvez, via cette solution, partager à distance votre code avec votre encadrant.


Points à noter

Compilateurs assez récents disponibles : clang 17.0.6, gcc 13.2.0.
Les outils développeurs classiques sont disponibles (make, git, etc.).
Gestionnaire de paquetages pour les autres outils (boost, cmake, gtest, etc.).
La version gratuite limite l'utilisation du CPU et la quantité de mémoire utilisée.
Le débogueur en mode interface graphique ne propose que très peu de services ; l'outil gdb en ligne de commande est la solution de repli.

3. Environnements lourds

Pour développer en C ou en C++ sur votre poste, vous avez besoin d'un compilateur (et ses outils associés) et d'un environnement de développement.

3.1. Compilateurs

Il existe actuellement 3 principaux compilateurs C/C++ pouvant être utilisés gratuitement :

3.1.1 Windows

GCC et clang

La solution la plus simple est d'installer MSYS2.

  • Télécharger et lancer l'installateur en laissant les options par défaut
  • Une fenêtre Terminal s'ouvre avec un Shell bash
  • Taper la commande pacman -Syu (pacman est le gestionnaire de paquets de MSYS2), accepter l'installation
  • Taper la commande pacman -S base-devel pour installer les outils de base pour le développement
  • Pour utiliser la famille GCC, taper la commande pacman -S mingw-w64-x86_64-gcc (version 13.3.0 du compilateur à la dernière date de mise à jour de cette ligne)
  • Pour utiliser la famille clang, taper la commande pacman -S mingw-w64-clang-x86_64-toolchain (version 18.1.8 du compilateur à la dernière date de mise à jour de cette ligne)

Dans MSYS2, les exécutables de la famille GCC sont installés dans /mingw64/bin, ceux dans la famille clang dans /clang64/bin ; ces répertoires ne sont pas par défaut dans le PATH du Shell, il faut les ajouter si vous voulez les utiliser en ligne de commande.

Sous Windows, les exécutables de la famille GCC sont installés (par défaut) dans C:/msys64/mingw64/bin, ceux dans la famille clang dans C:/msys64/clang64/bin ; ces répertoires ne sont pas par défaut dans le PATH du système, il faut les ajouter si vous voulez les utiliser dans un interpréteur de commande (CMD ou PowerShell) ou avec un environnement de développement comme Visual Studio Code ou Eclipse. Vous pouvez suivre les indications données pour Visual Studio Code (point 4 de cette page), elles sont valables pour les autres environnements de développement.

  • Installations complémentaires :
    • GDB (version 14.2 à la dernière date de mise à jour de cette ligne)
      • installé avec les outils de base pour le développement
    • Make (version 4.4.1 à la dernière date de mise à jour de cette ligne)
      • installé avec les outils de base pour le développement
    • Boost (version 1.85.0 à la dernière date de mise à jour de cette ligne)
      • avec la famille GCC : pacman -S mingw-w64-x86_64-boost
      • avec la famille clang : pacman -S mingw-w64-clang-x86_64-boost
    • Google Test (version 1.14.0 à la dernière date de mise à jour de cette ligne)
      • avec la famille GCC : pacman -S mingw-w64-x86_64-gtest
      • avec la famille clang : pacman -S mingw-w64-clang-x86_64-gtest
    • oneTBB (version 2021.13.0 à la dernière date de mise à jour de cette ligne)
      • avec la famille GCC : pacman -S mingw-w64-x86_64-tbb
      • avec la famille clang : pacman -S mingw-w64-clang-x86_64-tbb

Visual Studio

Il faut installer l'environnement de développement Visual Studio (voir ci-dessous) pour avoir les compilateurs de Microsoft utilisables avec d'autres environnements.

  • L'adaptateur pour Google Test peut être sélectionné dans les options facultatives

Windows Subsystem for Linux

Vous pouvez installer WSL sur votre poste Windows, vous aurez alors l'équivalent d'un poste Linux (voir ci-dessous).

Les compilateurs installés dans WSL sont aussi utilisables avec Visual Studio Code (voir la documentation).

3.1.2 macOS

GCC

Si les outils développeurs Apple sont installés, gcc est un alias de clang.

Pour avoir un vrai gcc, la solution la plus simple est d'installer Homebrew, le gestionnaire de paquetages le plus utilisé actuellement sur macOS.

  • Ouvrez un Terminal
  • Taper la commande /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Taper ensuite la commande brew install gcc (version 14.2.0 du compilateur à la dernière date de mise à jour de cette ligne)
  • Installations complémentaires :
    • GDB (version 15.1 à la dernière date de mise à jour de cette ligne)
      • brew install gdb
    • Make (version 4.4.1 à la dernière date de mise à jour de cette ligne)
      • Installé avec les outils développeurs Apple (voir ci-dessous)
    • Boost (version 1.86.0 à la dernière date de mise à jour de cette ligne)
      • brew install boost
    • Google Test (version 1.15.2 à la dernière date de mise à jour de cette ligne)
      • brew install googletest
    • oneTBB (version 2021.13.0 à la dernière date de mise à jour de cette ligne)
      • brew install tbb

clang

clang est le compilateur standard sur macOS ; pour l'installer :

  • Ouvrez un Terminal
  • Taper la commande xcode-select --install (version 15.0.0 du compilateur à la dernière date de mise à jour de cette ligne)

Pour avoir une version plus récente (version 18.1.8 à la dernière date de mise à jour de cette ligne), le mieux est encore d'utiliser Homebrew :

  • brew install llvm

3.1.3 Linux

GCC et clang

Ces compilateurs sont en général disponibles via le gestionnaire de paquets de votre distribution Linux.

Les versions disponibles sur les dépôts standards sont rarement les dernières versions des compilateurs. Pour obtenir celles-ci, vous pouvez :

  • avec GCC : télécharger le code source sur l'un des mirroir de http://gcc.gnu.org et suivre la procédure d'installation
  • avec clang :
    • des paqquetages pour Debian/Ubuntu sont disponibles via cette page
    • des versions pré-construites pour différentes plateformes sont disponibles sur cette page

Homebrew est aussi utilisable sur Linux (ou sur Windows/WSL2), voir ci-dessus la section 3.1.2 macOS ; clang est dans le paquet llvm.

3.2. Environnements de développement

3.2.1. Multi-plateformes

Visual Studio Code

  • L'éditeur est téléchargeable à partir de cette page.
  • Les instructions sont données ici.

Vous pouvez, via cette solution, partager votre code avec votre encadrant en installant l'extension Live Share.


VSCodium

  • Version de VS Code sans les ajouts propriétaires de Microsoft
  • L'éditeur est téléchargeable à partir de cette page.

Eclipse

  • L'IDE avec les extensions nécessaires est téléchargeable à partir de cette page (version Eclipse 2024-06 à la date de mise à jour de cette information).

3.2.2. Windows

Visual Studio

3.2.3. macOS

Xcode

  • Disponible via l'App Store

3.2.4. Linux