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
- Clang : les pages C Support in Clang et C++ Support in Clang donnent cette information.
- GCC : la page GCC online documentation donne accès aux manuels des différentes versions, lesquels précisent le niveau de support des standards.
- Visual Studio : la page conformité du langage Microsoft C/C++ par Visual Studio donne cette information.
- La page C++ compiler support donne un tableau récapitulatif pour les différents compilateurs.
1.2. Liens utiles
- Documentation sur les standards C et C++ : cppreference.com
- Site général sur C++ : cplusplus.com
- ISO C++ Standards Committee (C++ Standard Draft Sources...) : github.com/cplusplus
- Boost C++ Libraries
2. Environnements légers (navigateur) en local ou distant
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
- Identifier vous sur https://replit.com/login (créer un compte si nécessaire sur https://replit.com/signup)
- Créer un projet avec le bouton + Create , choisisser C ou C++ comme langage.
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
oumain.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'outilgdb
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 :
- la famille GCC
- la famille clang
- la famille Visual Studio (utilisables uniquement sur un poste Windows pour le compilateur C++)
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
- avec la famille GCC :
- 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
- avec la famille GCC :
- 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
- avec la famille GCC :
- GDB (version 14.2 à la dernière date de mise à jour de cette ligne)
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
- GDB (version 15.1 à la dernière date de mise à jour de cette ligne)
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
- Installer Visual Studio 2022 version Communauté
- Dans l'installateur, sélectionner Développement Desktop en C++
- Les instructions pour utiliser Google Test sont données ici.
3.2.3. macOS
Xcode
- Disponible via l'App Store