C++ eco-système

Ce sujet traite de l'éco-système C++ en allant aux outils à la communauté pour être plus productif dans le travail et devenir un développeur averti.

Compileurs

GCC Logo

GCC g++

De facto le standard sous GNU/Linux: 

LLVM Logo

LLVM clang++

Un compileur concurrent de GCC qui offre de meilleur performance

Visual C++ Logo

Microsoft visual C++

Pour utiliser le C++ moderne il faut installer la dernière version du logiciel

Compileurs online

Il est possible d'accéder sur internet à des compileurs en ligne

Debugging

gdb

WinDBG

x64dbg

Code Analyseur

ASAN(Adress SANITIZER)

Stand-alone outils d'analyse

Valgrind

Valgrind est un outil de programmation libre pour déboguer, effectuer du profilage de code et mettre en évidence des fuites mémoires.

Profiling & Benchmarking

GNU gprof

Gprof est un logiciel GNU Binary Utilities qui permet d'effectuer du profilage de code. Cela permet de détecter dans le code le temps d'éxécution qui demanderait à être ré-écrit.

Valgrind

Perf

perf: Linux profiling with performance counters

Documentation

Doxygen

Outil d'annotation et de création de documentation C++

Benchmarking librairies / framework

gperftools

Implementation du multi-threading pour malloc() haute performance

Build Systems

GNU Make

Make est un logiciel qui construit automatiquement des fichiers, souvent exécutables, ou des bibliothèques à partir d'éléments de base tels que du code source. Il utilise des fichiers appelés makefile qui spécifient comment construire les fichiers cibles

S'utilise pour de petit projet, tous les développeurs devraient savoir faire un makefile.

CMake 

CMake est un outil permettant d'automatiser le processus de compilation et d'installation d'un logiciel.

Test Unitaire

Doctest

Package management

Conan

Source code management

Git

Autres liens

Langage reference

cppreference

Best practices / Core guidelines

Social Media

Reddit

#include <C++>

Developpez.net

Groupe d'utilisateur

C++ francophone CPP-FRUG