GCC et en-têtes précompilés : une analyse approfondie
Défis liés aux en-têtes précompilés
En-têtes précompilés offrent des avantages en termes de performances en stockant les fichiers d'en-tête prétraités au format binaire. Cependant, ils introduisent certains défis dans des scénarios réels :
Limites de GCC
Contrairement au compilateur de Microsoft, la fonctionnalité d'en-tête précompilé de GCC nécessite un effort manuel et de la créativité dans le Makefile. Détecter quand les en-têtes précompilés doivent être reconstruits peut être difficile, en particulier lorsque vous travaillez avec plusieurs bibliothèques.
Comportement de GCC 4.7 (et versions antérieures)
Pour des performances optimales dans GCC 4.7 et plus tôt, il est crucial d’avoir un seul en-tête commun, yourapp.h, qui inclut tous les en-têtes système et applications nécessaires. Cet en-tête doit être le premier lexème sans commentaire dans chaque fichier source. Toutes les options de prétraitement (-D, -I, -U) doivent être cohérentes dans toutes les sources.
Développements futurs
La branche PreParsed Header (pph) visait à améliorer la gestion des en-têtes précompilés de GCC, mais elle a été abandonnée au profit d'une future standardisation d'un mécanisme de module en C . Un tel mécanisme n'a pas encore été intégré au standard C.
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!