Avantages et pièges potentiels de l'inclusion de tous les fichiers .cpp dans une seule unité de compilation
Dans certains projets Visual Studio C, une approche particulière a émergé : incorporer un seul ALL .cpp pour inclure tous les autres fichiers .cpp. Cette technique, conduisant à des configurations désignées « Release All » et « Debug All », soulève des questions quant à son caractère pratique.
Avantages :
-
Swift compilation : Le compilateur n'effectue qu'une seule fois le processus fastidieux de lecture et de compilation, ce qui réduit la compilation temps.
-
Lien rapide : L'unité de compilation unique simplifie la liaison, accélérant encore le processus de construction.
Pièges :
-
Difficulté en maintenance : Gérer un code unique et massif Le fichier peut devenir lourd, ce qui peut nuire à la lisibilité et à la flexibilité du code.
-
Accessibilité de l'espace de noms anonyme : L'inclusion de tous les fichiers .cpp dans une seule unité élimine leur isolement prévu dans leurs fichiers respectifs, permettant à leur contenu de être accessible dans tous les autres fichiers .cpp.
-
Collisions d'espace de noms : Si différents fichiers .cpp utilisent le même espace de noms, des conflits potentiels surviennent, nécessitant une attention particulière à l'utilisation de l'espace de noms.
-
Constructibilité incrémentielle réduite : Les modifications apportées à un seul fichier .cpp nécessitent la recompilation de l'intégralité de ALL.cpp, ralentissant le développement incrémentiel cycles.
Bien que les builds Unity excellent dans les builds stables et à grande échelle, leurs inconvénients peuvent limiter leur utilité dans les environnements de développement incrémentiel où les changements de code sont fréquents. Il est essentiel de peser les avantages et les pièges pour déterminer si cette approche est optimale pour un projet particulier.
Informations supplémentaires :
- Bruce Dawson fournit un avis -analyse approfondie de ce sujet sur son blog : http://randomascii.wordpress.com/2014/03/22/make-vc-compiles-fast-through-parallel-compilation/
- Pour plus d'informations, consulter : http://buffered.io/ posts/la-magie-de-l'unité-builds/
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!