Le présent chapitre
a pour but de vous apprendre très succintement, la manipulation
de Visual C++, en ce qui concerne la création d'un projet très
simple, afin de pouvoir compiler les exemples futurs.
Bien entendu, si
votre compilateur n'est pas Visual C++, vous pouvez passer ce chapitre
!
Création
et lancement d'un projet
Visual C++ fonctionne
suivant les notions de "Projet" et "Espace de travail", comme
désormais la plupart des environnements de programmation intégrés.
L'espace de travail
est l'environnement de développement du programmeur, et est sauvegardé
dans un fichier dès sa fermeture, afin d'offrir à l'utilisateur
les mêmes conditions lors de la réouverture. Il faut également
savoir qu'un "Workspace" peut contenir plusieurs projets.
Un projet contient
des informations plus techniques relatives à la programmation. C'est
dans ce fichier que seront stockés le nom des fichiers présents,
les librairies utiles, etc. C'est un peu l'équivalent d'un "makefile"
Unix, sauf qu'il est auto-généré, d'après des
renseignements entrés dans une boîte de dialogue.
Pour créer un nouveau
projet (qui fera partie automatiquement d'un espace de travail par défaut),
vous devez choisir le menu "File" puis "Nouveau". Attention,
le bouton "new" de la barre d'outils n'a pas le même rôle
: il permet de créer seulement un nouveau fichier, mais pas de projet.
Vous arrivez alors devant
la boîte de dialogue suivante :
Figure
1 : Création d'un nouveau projet
Vous pouvez remarquer la
présence de quatre onglets différents : Files, Projects,
Workspaces
et
Other
Documents. Nous verrons dans un prochain cours leur signification respective
; pour l'instant nous allons juste créer un projet pour la compilation
de code C++. Pour cela, choisissez l'onglet "Projects" si ce n'est
pas encore fait, puis cliquez sur le 10ème choix de la liste : "Win32
Console Application".
Visual C++ permet en effet
d'effectuer de nombreux types de programmes différents, comme par
exemple, des librairies, des applications Windows classiques ou encore
des programmes qui s'exécutent en mode "Dos" (fenêtre
Dos). C'est de cette dernière possibilité dont nous avons
besoin pour étudier le C++, afin de passer outre les contraintes
de programmation d'interfaces.
Vous pouvez alors entrer
un nom pour votre projet dans la boîte d'édition "Project
Name" ("MyProject" dans l'exemple)
et la localisation physique de votre projet sur le disque dur, dans "Location"
("D:\Temp\" pour l'exemple).
Figure
2 : choix de type de projet
Vous pouvez alors appuyer
sur "Ok". Visual C++ se charge alors de créer pour vous tout
l'environnement de base, nécessaire à la réalisation
de votre programme.
Bien sûr, dans notre
cas "d'application console", il ne vous crée aucun fichier
de code : c'est à vous de jouer !
Figure
3 : L'interface de développement Visual C++
Compilation
et exécution
Votre projet est
créé, il ne vous reste "plus" qu'à l'étoffer
avec quelques lignes de code... Pour cela, nous allons commencer par un
programme très simple en langage C, permettant de voir comment
on compile, on exécute et on debugge (même si je me doute
que cela ne vous sera jamais utile !).
Tout
d'abord, créons un nouveau fichier. Pour cela, vous devez appuyer
sur le bouton "New" de la barre d'outils (image de gauche).
Vous vous retrouvez alors
avec un nouvelle fenêtre ouverte, vide et sans titre (enfin, c'est
juste un titre par défaut du style "Text1").
La première chose
à faire consiste à donner un nom à ce fichier. Pour
cela, faites un "Save" ou "Save As" du menu "Files"
ou bien cliquez sur le bouton correspondant. Pour notre exemple, appelons
le "main.c".
Figure
4 : le fichier "main.c"
Il est maintenant possible
d'insérer le dit fichier dans le projet. En effet, vous avez pour
l'instant créé un fichier, mais il ne fait même pas
partie du projet : sous Visual C++, vous pouvez charger des fichiers externes
au projet sans problème.
Pour cela, le plus simple
est de cliquer avec le bouton droit du mulot, sur la fenêtre du fichier,
désormais nommée main.c.
Choisissez alors "Insert File Into Project", puis "MyProject"
(ou le nom de votre projet). Une autre solution, plus longue, passe par
le menu "Project", puis "Add To Project" et enfin "Files".
Là, vous pouvez choisir votre nouveau fichier fraîchement
créé.
Figure
5 : insérer le fichier dans le projet
Vous avez donc maintenant
un fichier "main.c" dans le projet. C'est le seul pour l'instant (partie
gauche de l'interface de Visual, onglet "FileView").
Il est temps de se mettre
enfin à programmer. Nous allons commencer en douceur, avec une application
de type "Hello World !", afin de voir rapidement les rouages de l'environnement.
La compilation
La première
tâche consiste à entrer le bout de code suivant dans la fenêtre
:
| #include
void main()
{
int
i;
printf( "Debut
boucle\n" );
for(
i=0; i<200; i++ )
{
printf( "*" );
}
printf( "\nFin
boucle\n" );
} |
Vous aviez été
prévenu, ce n'est pas de la haute voltige. Maintenant que le code
a été entré, il faut le compiler.
Il existe deux compilations
différentes : soit vous compilez le fichier courant seul ("Maj+F7")
ou bien le projet dans sa globalité ("F7"). C'est la deuxième
qui permet la génération d'un exécutable, bien entendu.
Il est également
toujours possible d'accéder à ces actions, par l'intermédiaire
du menu "Build" de l'interface, ou encore par le bouton correspondant.
L'exécution
l'exécution
est elle aussi très simple. A partir du moment où vous avez
compilé le projet, vous pouvez l'exécuter en sélectionnant
"Execute MyProject.exe" (Ctrl+F5).
Une fenêtre Dos s'affiche
alors : elle contient les sorties du programme que vous venez décrire.
Le
debugger
Par défaut,
Visual C++ compile les projets en mode "Debug". Cela signifie que
des informations de debuggage sont incluses dans l'exécutable, afin
d'aider le programmeur à retrouver certaines erreurs. En effet,
le programme est alors traçable, c'est-à-dire qu'à
tout moment durant l'exécution, il est possible de savoir où
on se trouve dans le code.
De même, lors d'un
plantage, le debugger pourra rendre la main si on le désire, exactement
à l'endroit où l'erreur a eu lieu. Ceci simplifie bien évidemment
grandement la tâche du développeur.
Tracer un programme
Comme il a été
signalé précédemment, il est possible de "tracer"
un programme. Cela consiste à l'exécuter ligne par ligne,
expression après expression. Pour ce faire, il y a plusieurs solutions.
La première fonctionne
suivant la technique des "Breakpoints" : on place un point d'arrêt
quelque part dans le code (Ctrl+B, cf. Figure 6), à
une ligne donnée (en fait, la ligne courante du curseur de texte).
Figure
6 : rajouter un breakpoint dans le code
On obtient un petit rond
rouge sur la gauche de la ligne de code, qui signifie qu'un breakpoint
est présent (Figure 7).
Figure
7 : un breakpoint mis en place
On lance alors l'exécution
en mode Debug (F5), et le programme s'arrête automatiquement
à l'endroit voulu. Il est alors possible de tracer le programme
ligne par ligne (F10 ou F11), ou bien de le relancer jusqu'à
la fin ou le prochain point d'arrêt.
Une seconde solution consiste
à ne pas mettre de breakpoint, mais à exécuter un
programme jusqu'à une ligne donnée. Cette possibilité
est offerte par Visual grâce au menu "Build", "Start Debug",
puis "Run To Cursor" (Ctrl+F10).
C'est personnellement la
méthode que j'utilise, puisqu'elle est très simple et surtout
rapide à mettre en oeuvre.
Essayez les deux !
Les données
C'est bien joli
de pouvoir tracer un programme, mais il est peut-être plus intéressant
encore de pouvoir jeter un oeil sur l'état des données (variables)
du programme.
Pour cela, vous pouvez vous
servir de la barre qui s'affiche en bas de l'interface de Visual en mode
debuggage (Figure 8). La partie de droite est notamment très
utile pour suivre l'évolution d'une variable lorsque vous tracez
un programme. Pour rajouter une variable dans cette partie, il suffit d'effectuer
un glisser-déposer de cette dernière.
Figure
8 : à gauche, les variables et fonctions en cours d'utilisation,
à droite, les variables que l'utilisateur souhaite examiner
Vous pouvez également
avoir accès au contenu d'une variable en cliquant sur elle à
l'aide du bouton droit de la souris, puis "Quickwatch".
Figure
9 : Quickwatch d'une variable (ici, "i")
Vous savez désormais
créer un nouveau projet, y inclure de nouveaux fichiers, le compiler,
l'exécuter et enfin le debugger. Il est temps de passer aux choses
sérieuses : le langage C++ en lui-même...
Attention !
: désormais, nous allons faire du C++, l'extension du fichier
contenant le "main", ainsi que de tout autre fichier d'implémentation,
doit être "cpp" (pour l'instant, c'était "c").
De plus, si vous ne changez
pas de projet, veillez à retirer votre fichier C du projet, en effectuant
un "Suppr" dans l'onglet "FileView" de Visual C++. |