FAQ Qt FAQ Qt Creator FAQ PyQt & PySide

FAQ QtConsultez toutes les FAQ

Nombre d'auteurs : 25, nombre de questions : 299, dernière mise à jour : 15 octobre 2016 

 
OuvrirSommaireGénéralités techniques

Pour vous aider, voici un petit récapitulatif des notions importantes du C++ utilisées dans Qt. Bien sûr, tout ceci n'est qu'indicatif, et peut être discuté.

Bases
  • Programmation orientée objet en C++ (déclaration d'une classe ou structure, héritage, appel de fonction membre...) ;
  • Différence entre mémoire statique et dynamique (connaître la durée de vie des objets instanciés, et même mieux : la maîtriser) ;
  • Polymorphisme et surcharge d'opérateur ;
  • Cast (transformation d'une pointeur sur QObject ou QWidget vers le type réel de l'objet) ;
  • Templates (conteneurs de Qt, principalement) ;
  • Anglais (pour parcourir la documentation officielle).
De préférence
  • Opérateurs binaires ~ ! | & (paramétrer certaines fonctionnalités grâce aux drapeaux, même si Qt fournit la classe QFlags pour simplifier ce traitement) ;
  • Itérateurs, en C++ ou en Java (parcours avancé sur des éléments). Qt fournit la méthode foreach, qui évite l'utilisation des itérateurs, suffisante dans la plupart des cas.

Avant de distribuer/déployer une application, il faut généralement l'optimiser. Un application plus rapide permet de :

  • Avoir un avantage sur les applications concurrentes (en particulier les applications Web) ;
  • Diminuer la consommation énergétique (ce qui est particulièrement important si Qt est utilisé sur un appareil mobile/portable).

La première étape pour optimiser est de faire tourner l'application dans un profiler. Un profiler établit des statistiques de l'utilisation du code et permet de trouver les branches et fonctions qui prennent le plus de temps à l'exécution. Il existe de nombreux profiler pour C++ : Valgrind avec callgrind (Linux), Intel VTune (Linux et Windows), Instruments (XCode, Mac OS X), Visual Studio Profiler (Windows).

La seconde étape est d'activer les optimisations à la compilation. Ces optimisations sont valables pour Qt comme pour l'application, il faut donc recompiler les deux et pas seulement l'application. Il faut recompiler en mode release pour exclure les symboles et le code de débogage (QDebug, Q_ASSERT) et activer les optimisations (option -O2). Si le compilateur le permet, l'utilisation de PGO (Profile-Guided Optimization) permet d'améliorer encore les performances.

Finalement, avec une licence commerciale ou pour un projet open-source, compiler statiquement améliore aussi les performances.

Mis à jour le 7 mai 2012  par Benjamin Poulain

Lien : Quand et comment réaliser une compilation statique ?

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 - 2016 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.