Outils pour utilisateurs

Outils du site


cplusplus

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

cplusplus [2013/05/06 13:23] (Version actuelle)
Ligne 1: Ligne 1:
 +http://​miek.nl/​downloads/​2010/​c++-talk.pdf
  
 +http://​yosefk.com/​c++fqa
 +
 +=== Compilation lente ===
 +
 +Compiler du C++ prend beaucoup de temps. Deux raisons importantes :
 +
 +  * Les templates sont entièrement évalués à la compilation,​ ce qui génère parfois des explosions combinatoires. Toutes les structures de données de la STL utilisent des templates, donc tout programme non trivial se retrouve à générer et spécialiser beaucoup de code.
 +
 +  * Les headers ne sont pas hermétiques. Inclure d'un header a un comportement potentiellement différent selon l'​environnement (quelles macros sont déclarées),​ donc le compilateur doit refaire le travail à chaque fois. Si on a M fichiers sources avec N includes chacun, le compilateur doit analyser N*M headers. C'est réellement un problème puisque les développeurs de Clang travaillent sur un système de modules pour remplacer ça.
cplusplus.txt · Dernière modification: 2013/05/06 13:23 (modification externe)