Outils utiles au développeur C++

Geronimo

Programmer est une chose ; programmer efficacement en est une autre. En effet, on peut tout à fait taper du code dans l'éditeur et le compiler sans utiliser d'outils supplémentaires. Cependant, il existe un certain nombre d'outils de qualité dont il serait idiot de ne pas profiter, étant donné qu'ils sont gratuits et qu'ils rendent souvent de grands services. Je vais vous présenter ici ceux que j'utilise, ce qui ne veut pas du tout dire que ce sont les seuls bons outils ; cela permettra peut-être au débutant de faire son choix. De plus, leur taille est raisonnable (1 à 5 Mo) et on peut facilement les télécharger. On peut classer ces outils dans deux catégories :

- Développement du projet

- ClassBuilder

- Déploiement

- GhostInstaller

Je vais vous présenter ici les programmes que j'utilise pour développer mes projets.

- Titre : Outils utiles au développeur C++

- Auteur : Geronimo

- Parution : 20 avril 2002

- Mise à jour : 14 juillet 2020

- Licence : Copyright ® 2013 Geronimo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Développement du projet

- I-A. ClassBuilder

- I-B. GExperts

- I-C. MemProof

- II. Déploiement

- II-A. GhostInstaller Free Edition

- II-B. Divers

- II-C. Conclusion

I - Développement du projet

I-A - ClassBuilder

Si vous avez décidé de vous lancer dans un grand projet, vous savez probablement qu'il est nécessaire de bien concevoir son application avant de commencer le codage et surtout de bien structurer votre application à l'aide de classes. ClassBuilder peut alors vous rendre de grands services.

La fenêtre principale

Édition d'une méthode

ClassBuilder, comme son nom l'indique, permet de créer et de structurer les classes de votre projet. Vous avez à votre disposition un explorateur de classes dans lequel vous créez vos classes, rajoutez des membres, héritez… bref, tout est possible.

Vous pouvez à tout instant accéder aux propriétés d'un membre (privé, public, constant, pointeur, tableau, méthode Get, Set…) ou d'une fonction (virtuelle…). D'un double-clic sur une méthode, vous pouvez implémenter celle-ci ; si vous tapez le nom d'un membre, et qu'ensuite vous souhaitez changer ce nom, pas de problème, vous changez son nom dans l'explorateur de classes et son nom sera changé dans toutes les implémentations des méthodes. Vous pouvez également créer des diagrammes représentant les relations interclasses. Il est également possible de documenter chaque classe, membre, fonction ; la documentation peut être exportée au format HTML.

Vous pouvez ouvrir en parallèle le même fichier dans C++Builder et dans ClassBuilder : quand vous enregistrez dans l'un et que vous passez à l'autre, les modifications sont prises en compte, pour peu que vous laissiez les commentaires qui permettent à ClassBuilder de s'y retrouver.

L'interface est claire, nette, simple et extrêmement agréable. Pas de boutons dans tous les sens et un grand espace de travail disponible.

Pas besoin d'être expert en technologie UML (ce qui est loin d'être mon cas) pour l'utiliser : il vous suffit de connaître les bases du C++. Bien sûr, cet outil ne devient intéressant que quand vous avez besoin de créer un projet avec un certain nombre de classes sinon, l'explorateur de classes de Borland C++ Builder suffit amplement. À noter que ce programme ne permet pas de créer des Fiches.

Programme développé par Jimmy Venema. Disponible sur le site http://home.hetnet.nl/~xvenemaj/ClassBuilder.htm.
Gratuit.

Veuillez consulter la page les Meilleurs Outils de Modélisation UML pour un test de ClassBuilder par Olivier Constans.

I-B - GExperts

L'IDE de Borland C++ Builder est très agréable. Mais que diriez-vous de lui ajouter un certain nombre de fonctionnalités pratiques permettant d'accroître sa productivité ? GExperts est là pour ça et, en plus, en open source !

Les outils disponibles dans le menu GExperts

L'IDE avec la barre d'outils en haut

GExperts est un assortiment d'outils qui se greffent dans l'IDE de BCB. Lorsque vous l'installez, un menu GExperts est rajouté et vous donne accès à de nombreuses fonctions : sauvegarde du projet, nettoyage des fichiers temporaires, bibliothèque de code, recherche dans les fichiers, création de boites de dialogue MessageDlg… L'outil d'information PE permet de savoir quelles DLL utilisent un programme (très utile pour savoir lesquelles déployer).

Une des multiples caractéristiques intéressantes est la possibilité de rajouter une barre d'outils personnalisable juste au-dessus de l'éditeur avec les fonctions de votre choix (par exemple Exécuter, Copier, Couper, Coller, Commenter/Décommenter le code, liste des unités…).

D'autres fonctionnalités ne sont pas visibles directement, mais sont extrêmement pratiques. Je pense à la correction automatique de la frappe. Imaginez que vous tapiez whlie au lieu de taper while. Que fait GExperts ? Un petit bip et le while est correctement orthographié.

On pourra regretter que certaines fonctions soient disponibles pour Delphi et non pour C++ Builder.

Disponible sur http://www.gexperts.org en OpenSource et gratuit.

I-C - MemProof

Lorsque vous développez un programme, celui-ci peut facilement être victime de ce qu'on nomme des fuites de mémoire. C'est-à-dire que quand vous avez fini d'exécuter le programme, la quantité de mémoire libre a diminué. Cela est dû très fréquemment à des oublis de l'instruction delete . Memproof est capable de repérer ces fuites ainsi que d'autres erreurs concernant la gestion de la mémoire.

Ce programme permet de contrôler à tout instant le nombre de variables allouées dans le tas et donc de vérifier lesquelles sont bien libérées. Vous pouvez vérifier que toutes les ressources allouées pendant l'exécution d'une boite de dialogue sont bien libérées.

Ainsi, MemProof permet de développer des programmes propres en traquant toutes les ressources non libérées.

L'interface a été modifiée dans la dernière version. Bien que plus ergonomique, il semble que le programme en soit un peu ralenti.

Ce programme a été écrit par Atanas Stoyanov et est disponible sur le site http://www.automatedqa.com .
Gratuit.

II - Déploiement

II-A - GhostInstaller Free Edition

Personnellement, je me contentais d'InstallShield Express jusqu'au jour où les programmes d'installation ne tenaient plus sur disquettes. Je me suis alors tourné vers des programmes plus simples et plus légers ; mais ces programmes avaient peu de fonctionnalités et l'interface proposée à l'utilisateur était peu agréable. C'est alors que j'ai découvert GhostInstaller…

GhostInstaller permet de créer facilement des programmes d'installation autoextractibles. Donc un seul programme à télécharger pour l'utilisateur. La compression est très forte (Microsoft CABinet) par rapport à une simple compression Zip et l'interface proposée à l'utilisateur claire et agréable. Il est possible de créer plusieurs types d'installation : complète, minimale, personnalisée. GhostInstaller permet de proposer à l'utilisateur le choix de la langue. Vous pouvez même protéger votre installation par un mot de passe !

Les projets se créent au format XML à la main (avec Notepad, par exemple), la version gratuite ne proposant pas d'IDE. Grâce à l'aide bien faite, on arrive rapidement à un résultat satisfaisant.

Un des gros avantages est la possibilité de créer soi-même des plugins pour ce programme. Ces plugins sont des DLL que vous pouvez créer avec C++ Builder. Il est également possible d'en télécharger.

Enfin, il est possible de personnaliser l'interface du programme d'installation en lui créant une skin.

Créé par gInstall Corp. Disponible sur www.ginstall.com .

II-B - Divers

Je citerai ici accessoirement deux logiciels gratuits concernant les images qui sont XnView disponible sur http://www.xnview.com et The Gimp sur http://www.gimp.org. XnView permet d'enregistrer les images dans une cinquantaine de formats, ce qui est très utile pour faire des images légères et réduire la taille des ressources dans un programme. Quant à The Gimp (attention :: environ 20 Mo), il est fait pour la retouche d'images et permet ainsi de créer logos, splash screens, etc. Étant conçu à l'origine pour Linux, The Gimp est plus stable et plus agréable à utiliser sous celui-ci.

Ces logiciels peuvent paraître assez éloignés du développement de logiciels, mais ils sont extrêmement pratiques dès que vous avez affaire avec des images (ne serait-ce que pour écrire le site web de votre logiciel, ou pour écrire des articles illustrés ;-))

II-C - Conclusion

Voilà quelques outils qui, j'espère, vous rendront service. Ce sont des outils de qualité et non de simples petits programmes peu réfléchis. Cependant, ce sont les outils que j'utilise personnellement et il se peut que vous en préfériez d'autres. N'hésitez pas à chercher sur Internet !

Geronimo
geronimooo@ifrance.com
Toutes les critiques constructives sont acceptées.