Université Paris 6, contact: dirk.stratmann__at_upmc.fr

Aide Code::Blocks

Démarrage

Pour une première utilisation lancer dans une fenêtre Terminal la commande cbstart, qui initialise la configuration de Code::Blocks sur votre compte Linux. Faire cette opération qu'une seule fois, car la commande cbstart réinitialise la configuration de Code::Blocks sinon.
Fermer ensuite la fenêtre de Code::Blocks et redémarrer Code::Blocks via le menu des applications.
On peut aussi utiliser la commande codeblocks pour lancer Code::Blocks depuis un Terminal, par contre il faut faire attention de ne pas fermer cette fenêtre Terminal, sinon la fenêtre Code::Blocks sera aussi fermée sans avoir enregistrés vos fichiers. Comme la fenêtre Terminal reste bloquée par Code::Blocks, il faudra ouvrir une nouvelle fenêtre Terminal pour continuer à utiliser un Terminal.

Fonctions de base

Code::Blocks est un EDI (Environnement de développement intégré, IDE en anglais) pour le langage C ou C++. Il est disponible gratuitement sous les systèmes Windows (avec compilateur C++ MinGW intégré), Linux et Mac OS X:
www.codeblocks.org
Code::Blocks pour Windows sous "Downloads->Download the binary release->codeblocks-10.05mingw-setup.exe"

Les avantages d'utiliser Code::Blocks par rapport à un simple éditeur comme gedit sont entre autres:

Code::Blocks permet soit de travailler avec un fichier C/C++ (*.cpp) directement, soit avec un projet (voir "Fonctions avancées" en bas). L'utilisation des projets n'est que nécessaire, si on veut utiliser le débogueur intégré ou ajouter des paramètres à la ligne de commande du programme.

Créer ou ouvrir un programme C/C++


Pour créer un nouveau programme C/C++ on doit d'abord créer un nouveau fichier (Ctrl+N) ("N" pour "Nouveau") et le sauvegarder (Ctrl+S) avec l'extension ".cpp". Il est conseillé d'utiliser un nouveau dossier pour chaque TP. Une fois le programme écrit, on peut le compiler et lancer directement avec la touche F9.

Pour ouvrir un programme C/C++ (*.cpp) existant on utilise les touches rapides (Ctrl+O) ("O" pour Ouvrir). On peut directement lancer la compilation + exécution avec la touche F9.

Compilation (Génération) et exécution


La touche F9 sauvegarde automatiquement le fichier *.cpp ouvert, lance la compilation et ensuite l'exécution du programme généré, s'il n'y a pas d'erreurs au moment de la compilation. Les commandes lancées par Code::Blocks sont affichées dans le panneau horizontal "Log de génération". Code::Blocks génère d'abord un fichier objet *.o puis un fichier exécutable (sans extension):
g++ -Wall -c /home/user/toto.cpp -o /home/user/toto.o
g++ -o /home/user/toto /home/user/toto.o

Les messages d'erreurs ("erreur:") et avertissements ("attention:") sont indiqués dans le panneau horizontal "Messages de génération". En cliquant sur un message le curseur dans l'éditeur se déplace automatiquement à la ligne concernée. (ATTENTION: les erreurs peuvent aussi provenir d'une ou plusieurs lignes au-dessus de la ligne indiquée par le compilateur).

Aide C/C++

Pour obtenir de l'aide sur une commande C/C++, il suffit de placer le curseur sur la commande recherchée puis d'appuyer sur F1. Il faut éventuellement activer le mode "hors connexion" dans Firefox:
Menu Fichier->Travailler hors connexion.

Mise en forme automatique du code

Le menu "Extensions->Source code formatter" corrige la mise en forme du code automatiquement.

Réglages taille des caractères et fenêtres

Dans l'éditeur, la taille des caractères peut être changé rapidement par "Ctrl + Tourner la molette de la souris". Pour changer la taille des caractères du panneau horizontal "Log & others", il faut sélectionner "Paramètres->Environment..." puis "Affichage". On peut y changer la taille dans "Taille de police des messages du journal".

Le Panneau horizontal "Log & others" en bas et le panneau vertical "Management" à gauche peuvent être ouverts ou fermés avec "F2" et "Maj+F2", respectivement. Ceci permet de réduire la fenêtre Code::Blocks pour afficher une fenêtre Terminal à côté. Alternativement, les touches "Alt+Tab" permettent de changer rapidement de fenêtre. La fenêtre Code::Blocks peut aussi être agrandie à la taille de l'écran par le menu "Vue->Full Screen".

Pour avoir deux fenêtres côte à côte du même fichier *.cpp, on actionne le menu local par clique-droit de la souris et on y choisit "Split View->Horizontalement".

Touches rapides

Menu Aide
C++ AideF1 (placer curseur sur la commande recherché puis F1)
Menu Fichier
Nouveau fichierCtrl+N
Nouveau projetMaj+Ctrl+N
Ouvrir fichierCtrl+O
Sauvegarder fichierCtrl+S
Sauvegarder tous les fichiersMaj+Ctrl+S
Fermer fichierCtrl+W
Menu Modifier
CopierCtrl+C
CollerCtrl+V
CouperCtrl+X
AnnulerCtrl+Z
RefaireMaj+Ctrl+Z
Menu Vue
Panneau "Management" à gaucheMaj+F2
Panneau "Log & others" en basF2
Menu Générer (compiler+exécuter)
Générer et exécuterF9
Générer seulementCtrl+F9
Menu Projet (que pour un projet)
Arguments du programmeCtrl+L
Menu Débogage (que pour un projet)
Exécuter jusqu'au CursorF4
Mettre ou enlever un point d'arrêtF5 ou cliquer à côté du numéro de ligne
Continuer l'exécutionCtrl+F7
Prochaine ligneF7
Enter dans cette fonctionMaj+F7
Démarrer l'exécution du programmeF8
Valeurs des variablesMenu Débogage->Fenêtres de débogage->Témoins (Watches)

Fonctions avancées

Inclure des bibliothèques

Afin d'inclure des bibliothèques externes comme "g2", "X11" ou "lapack" lors de la compilation, il faut modifier les paramètres du "Linker". Pour cela on ouvre le dialogue "Configuration du compilateur et du débuggueur" par le menu "Paramètres->Compiler and debugger". Sur ce dialogue on sélectionne l'onglet "Linker settings" et on clique sur "Ajouter" en bas de "Lier les librairies". Ici on rentre le nom d'une (seule) bibliothèque à ajouter, par exemple g2. On peut cliquer de nouveau sur "Ajouter" pour ajouter encore d'autres bibliothèques.

Créer un projet C/C++

Pour créer un nouveau projet C/C++ on appuie sur les trois touches Maj, Ctrl et N en même temps (Maj+Ctrl+N). Dans le dialogue qui s'ouvre, on choisit "Console application" puis "Go". Ensuite on choisit le nom du projet ("Project title") et le dossier dans lequel un nouveau dossier portant le nom du projet sera crée par Code::Blocks. Dans la page finale on ne change rien on clique juste sur "Finir", ce qui ferme le dialogue et retourne à l'interface Code::Blocks. Dans le panneau latéral ("Management", touche Maj+F2) on doit voir maintenant le nom du projet en dessous de "Espace de travail". Un double-clique sur "Sources" fait apparaître "main.cpp" qu'on ouvre aussi avec un double-clique. On peut maintenant modifier le programme par défaut ("Hello world!") puis le compiler et lancer directement avec la touche F9.

Vérification du code (que pour un projet)

Même si on a corrigé tous les messages d'erreurs et d'avertissement du compilateur, il peut persister des erreurs non détectés par le compilateur, comme par exemple l'écriture dans la mémoire au-delà des limites prédéfinies. Il est existe des outils de vérification de code plus avancés que le compilateur. Code::Blocks intègre l'outil "cppcheck" http://cppcheck.sourceforge.net par le menu "Extensions->CppCheck". Les messages d'avertissement de cppcheck sont affichés en bas dans le panneau horizontal (F2) dans "CppCheck messages".

Débogage (que pour un projet)


Le débogueur intégré de Code::Blocks permet de suivre l'exécution du programme pas par pas. Cela peut être utile pour comprendre l'exécution d'un programme ou encore trouver des erreurs de code plus complexes. En général on commence d'abord à mettre un ou plusieurs point d'arrêt ("breakpoint" en anglais) dans la partie du code qu'on veut analyser (F5, voir Touches rapides). Ensuite on démarre le programme avec F8 à la place de F9 pour rentrer dans le mode débogage. Le programme interrompt son exécution au point d'arrêt. Ici on peut inspecter les valeurs des variables locales (Menu Débogage -> Fenêtre de débogage -> Témoins). Pour continuer l'exécution jusqu'au prochain point d'arrêt on utilise Ctrl+F7. Pour avancer d'une ligne: F7. Pour entrer dans une fonction: Maj+F7. Pour exécuter le programme jusqu'à la position du curseur: F4. A la place des touches rapides, on peut aussi utiliser la barre des icônes.