kdevelop tour d'horizon et retour d'exp riences...
TRANSCRIPT
![Page 1: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/1.jpg)
KDevelopTour d’horizon et retour d’expériences (C++)
2e rencontre DevelopR625 mars 2010
F. Langrognet
F. Langrognet () KDevelop Mars 2010 1 / 27
![Page 2: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/2.jpg)
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
![Page 3: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/3.jpg)
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
![Page 4: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/4.jpg)
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.0Complè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
![Page 5: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/5.jpg)
EcosystèmeEcosystè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
![Page 6: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/6.jpg)
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
![Page 7: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/7.jpg)
Aperçu des fonctionnalités
Langages / Fonctionnalités
F. Langrognet () KDevelop Mars 2010 7 / 27
![Page 8: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/8.jpg)
Fonctionnalités (1)
Présentation des fonctionnalités de KDevelop 3.5.3 (et ... 4.0)
15 langagesAda, C, C++, Objective-C, SQL,Fortran, Haskell, Java, PHP, Pascal,Perl, Python, Ruby, Bash
Construction de projet
autotools
qmake
cmake
ant (java)
F. Langrognet () KDevelop Mars 2010 8 / 27
![Page 9: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/9.jpg)
Fonctionnalités (2)Edition (texte/classes)
Coloration syntaxique
Indentation automatique
Complétion automatique
Aide à l’ouverture/fermeture deparenthèses, accolades
Utilisations de variables (KDevelop4)
Aide à la création de classe
Visualisation de classes :◮ Classe mère, classes dérivées◮ Membres privés, publics, protégés◮ Liste des utilisations des méthodes/fonctions
F. Langrognet () KDevelop Mars 2010 9 / 27
![Page 10: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/10.jpg)
Fonctionnalités (3)
Editeur d’IHM
QT Designer
SGVcvs
svn
perforce
clearCase
git (KDevelop4)
mercurial (KDevelop4)
F. Langrognet () KDevelop Mars 2010 10 / 27
![Page 11: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/11.jpg)
Fonctionnalités (4)
Debugger
Points d’arrêts conditionnels
Liste d’appel
Etat des variables
Génération automatique dedocumentation
Doxygen pour C++
F. Langrognet () KDevelop Mars 2010 11 / 27
![Page 12: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/12.jpg)
Fonctionnalités (5)
Kits de développement
QT (QT Designer, QT Linguist)GTKwxWidgetssuperwaba
GBA
Développement de plugins
KDE◮ Kate◮ KFile◮ Konqueror◮ Noatun◮ . . .
KDevelop
F. Langrognet () KDevelop Mars 2010 12 / 27
![Page 13: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/13.jpg)
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
![Page 14: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/14.jpg)
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
![Page 15: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/15.jpg)
KDevelop4 - Edition (1)Coloration syntaxique
F. Langrognet () KDevelop Mars 2010 15 / 27
![Page 16: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/16.jpg)
KDevelop4 - Edition (2)
Complétion automatique
F. Langrognet () KDevelop Mars 2010 16 / 27
![Page 17: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/17.jpg)
KDevelop4 - Edition (3)Information contextuelle
F. Langrognet () KDevelop Mars 2010 17 / 27
![Page 18: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/18.jpg)
KDevelop4 - Edition (4)
Edition de classes, navigation
F. Langrognet () KDevelop Mars 2010 18 / 27
![Page 19: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/19.jpg)
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
![Page 20: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/20.jpg)
Développement de Mixmod avec KDevelopMixmod/KDevelop
Logiciel de classification de données
Ecrit en C++ (et avec QT)
Développé sous Linux
Distribué pour Linux, Windows
EditionDebuggercmakeValgrindKCacheGrind(SVN)(Doxygen)
F. Langrognet () KDevelop Mars 2010 20 / 27
![Page 21: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/21.jpg)
Utilisation de cmake
cmake
cmake -> KDevelopcmake . -GKDevelop3Possibilité de créer des projets CodeBlocks, Eclipse CDT
KDevelop -> cmakeConfiguration de cmake depuis KDevelop
F. Langrognet () KDevelop Mars 2010 21 / 27
![Page 22: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/22.jpg)
Utilisation de valgrindValgrind
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
![Page 23: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/23.jpg)
Utilisation de kCachegrindKCachegrind
Navigateur pour les données produites par des outils de profilage
F. Langrognet () KDevelop Mars 2010 23 / 27
![Page 24: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/24.jpg)
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
![Page 25: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/25.jpg)
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
![Page 26: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/26.jpg)
Conclusion
KDevelop
IDE très complet
Nombreux outils pour le C++valgrind, KCacheGrind, Doxygen, . . .
Création facile de projets diversQT, WxWidgets, . . .
Edition de texte, navigation classes,fichiers de grande qualité (KDevelop4)
Debugger performant
Projet actif et pérenne
Utilisation sous Windows,MacOS très marginale
Cross compilation ?
Création de package ?
F. Langrognet () KDevelop Mars 2010 26 / 27
![Page 27: KDevelop Tour d'horizon et retour d'exp riences (C++)lmb.univ-fcomte.fr/IMG/pdf/2010_developr6_KDevelop_F_Langrognet.… · 1 Introduction 2 Principales fonctionnalités 3 KDevelop](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed4caa4fd1f950b814dfe9b/html5/thumbnails/27.jpg)
KDevelopR6
FIN
Merci de votre attention
Florent Langrognet
F. Langrognet () KDevelop Mars 2010 27 / 27