Kdevelop Tour D'horizon Et Retour D'expériences (C++)

Kdevelop Tour D'horizon Et Retour D'expériences (C++)

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us