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. Environnement conteneurisé


Solution conseillée


Il n'est pas nécessaire d'installer sur son poste les outils nécessaires
Le choix des outils est figé

2.1. Conteneur s'exécutant sur un serveur distant (MyDocker)

Seul un navigateur est nécessaire sur son poste
  • 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.2. Conteneur s'exécutant en local (avec Docker ou Podman)

Votre code est accessible directement sur votre poste
Une connexion internet n'est pas obligatoire
  • L'image utilisée pour MyDocker peut aussi être utilisée sur votre poste si vous y avez installé Docker ou Podman.
  • Vous pouvez :
    • soit utiliser un navigateur pour accéder à l'environnement,
    • soit utiliser l'éditeur Visual Studio Code avec l'extension Dev Containers.
  • Voir ici.

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
  • Pour utiliser la famille clang, taper la commande pacman -S mingw-w64-clang-x86_64-toolchain

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
      • installé avec les outils de base pour le développement
    • Make
      • installé avec les outils de base pour le développement
    • Boost
      • 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
      • avec la famille GCC : pacman -S mingw-w64-x86_64-gtest
      • avec la famille clang : pacman -S mingw-w64-clang-x86_64-gtest
    • oneTBB
      • 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.

  • Installer Homebrew comme indiqué sur le site
  • Taper ensuite la commande brew install gcc
  • Installations complémentaires :
    • GDB
      • brew install gdb
    • Make
      • Installé avec les outils développeurs Apple (voir ci-dessous)
    • Boost
      • brew install boost
    • Google Test
      • brew install googletest
    • oneTBB
      • brew install tbb

clang

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

  • Ouvrez un Terminal
  • Taper la commande xcode-select --install

Pour avoir une version plus récente, 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.

3.2.2. Windows

Visual Studio

3.2.3. macOS

Xcode

  • Disponible via l'App Store

3.2.4. Linux