KDevelop Tour d’horizon et retour d’expériences (C++) 2e rencontre DevelopR6 25 mars 2010 F. Langrognet F. Langrognet () KDevelop Mars 2010 1 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d’outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 2 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d’outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 3 / 27 Historique Historique 1998 : Mise en place du projet KDevelop ◮ Objectif : bâtir un IDE pour KDE facile à utiliser ◮ Langage : uniquement C/C++ 2001 : KDevelop 2.0 2004 : KDevelop 3.0 (complètement réécrit) ◮ Langages supportés : C++, Java, Python, PHP, . ◮ Plugins 1er mai 2010 : KDevelop 4.0.0 Complètement réécrit - encore ! Beaucoup de nouveautés et fonctionnalités améliorées Version 3.9.95 (ubuntu 9.10) : disponible uniquement pour le C++ F. Langrognet () KDevelop Mars 2010 4 / 27 Ecosystème Ecosystème naturel Développement en C++ sous Linux/KDE Mais aussi ... 15 langages supportés Version windows (cygwin) et Mac OS F. Langrognet () KDevelop Mars 2010 5 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d’outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 6 / 27 Aperçu des fonctionnalités Langages / Fonctionnalités F. Langrognet () KDevelop Mars 2010 7 / 27 Fonctionnalités (1) Présentation des fonctionnalités de KDevelop 3.5.3 (et ... 4.0) 15 langages Construction de projet Ada, C, C++, Objective-C, SQL, autotools Fortran, Haskell, Java, PHP, Pascal, qmake Perl, Python, Ruby, Bash cmake ant (java) F. Langrognet () KDevelop Mars 2010 8 / 27 Fonctionnalités (2) Edition (texte/classes) Coloration syntaxique Aide à la création de classe Indentation automatique Visualisation de classes : Complétion automatique ◮ Classe mère, classes dérivées ◮ Membres privés, publics, protégés Aide à l’ouverture/fermeture de ◮ parenthèses, accolades Liste des utilisations des méthodes/fonctions Utilisations de variables (KDevelop4) F. Langrognet () KDevelop Mars 2010 9 / 27 Fonctionnalités (3) Editeur d’IHM SGV cvs svn QT Designer perforce clearCase git (KDevelop4) mercurial (KDevelop4) F. Langrognet () KDevelop Mars 2010 10 / 27 Fonctionnalités (4) Debugger Génération automatique de Points d’arrêts conditionnels documentation Liste d’appel Etat des variables Doxygen pour C++ F. Langrognet () KDevelop Mars 2010 11 / 27 Fonctionnalités (5) Kits de développement Développement de plugins KDE QT (QT Designer, QT Linguist) ◮ GTK Kate ◮ KFile wxWidgets ◮ Konqueror ◮ superwaba Noatun ◮ ... GBA KDevelop F. Langrognet () KDevelop Mars 2010 12 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d’outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 13 / 27 KDevelop4 Quelques améliorations (parmi d’autres) Nouveau langage : C# Nouveaux SGV (décentralisés) : ◮ git ◮ mercurial ◮ bazaar Tests ◮ CppUnit, QTest Edition (coloration, navigation dans les classes, . ) F. Langrognet () KDevelop Mars 2010 14 / 27 KDevelop4 - Edition (1) Coloration syntaxique F. Langrognet () KDevelop Mars 2010 15 / 27 KDevelop4 - Edition (2) Complétion automatique F. Langrognet () KDevelop Mars 2010 16 / 27 KDevelop4 - Edition (3) Information contextuelle F. Langrognet () KDevelop Mars 2010 17 / 27 KDevelop4 - Edition (4) Edition de classes, navigation F. Langrognet () KDevelop Mars 2010 18 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d’outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 19 / 27 Développement de Mixmod avec KDevelop Mixmod/KDevelop Edition Logiciel de classification de données Debugger Ecrit en C++ (et avec QT) cmake Valgrind Développé sous Linux KCacheGrind Distribué pour Linux, Windows (SVN) (Doxygen) F. Langrognet () KDevelop Mars 2010 20 / 27 Utilisation de cmake cmake cmake -> KDevelop cmake . -GKDevelop3 Possibilité de créer des projets CodeBlocks, Eclipse CDT KDevelop -> cmake Configuration de cmake depuis KDevelop F. Langrognet () KDevelop Mars 2010 21 / 27 Utilisation de valgrind Valgrind Outil d’analyse dynamique de code C++ (comme Purify) Utilisation de valeurs ou de pointeurs non initialisés Accès à des zones mémoire libérées ou non allouées Libération à tort d’une zone mémoire (ex : 2 delete d’une même zone) Non libération de mémoire allouée Passage d’arguments invalides à certaines fonctions de la librairie standard F. Langrognet () KDevelop Mars 2010 22 / 27 Utilisation de kCachegrind KCachegrind Navigateur pour les données produites par des outils de profilage F. Langrognet () KDevelop Mars 2010 23 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop 4 4 Cas pratique - utilisation d’outils intégrés à KDevelop 5 Alternatives à KDevelop - Conclusion F. Langrognet () KDevelop Mars 2010 24 / 27 Et si l’on partait des besoins ? Un IDE pour C++ Critères de choix : Gratuit, Payant Linux, Windows Fonctionnalités : complétion de code, gestionnaire de version, debugger, . F. Langrognet () KDevelop Mars 2010 25 / 27 Conclusion KDevelop IDE très complet Nombreux outils pour le C++ valgrind, KCacheGrind, Doxygen, . Utilisation sous Windows, Création facile de projets divers MacOS très marginale QT, WxWidgets, . Cross compilation ? Edition de texte, navigation classes, fichiers de grande qualité (KDevelop4) Création de package? Debugger performant Projet actif et pérenne F. Langrognet () KDevelop Mars 2010 26 / 27 KDevelopR6 FIN Merci de votre attention Florent Langrognet F. Langrognet () KDevelop Mars 2010 27 / 27.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages27 Page
-
File Size-