Ce sont les en-têtes précompilés?
Souvent, les fichiers source C++ inclure les en-têtes de bibliothèques externes. Dans Windows, vous comprennent windows.h
. Ces fichiers d'en-tête sont souvent très volumineux et prend un certain temps à traiter. Chaque fois que vous compilez un fichier C++ le compilateur doit de lire et de traiter des milliers de lignes à partir de ces fichiers d'en-tête. Mais les bibliothèques externes ne changent pas et vous pouvez économiser beaucoup de temps si vous ne traiter ces fichiers à la fois et d'enregistrer le résultat.
Un en-tête précompilé est tout simplement un tas de fichiers d'en-tête qui a été traité pour une forme intermédiaire qui, plus tard, peut être utilisé par le compilateur, encore et encore.
Les en-têtes précompilés dans Visual C++
Dans Visual C++, il est de coutume de mettre tous vos non-modification de fichiers d'en-tête en stdafx.h
. Ensuite, vous demander au compilateur de créer l'en-tête précompilé stdafx.pch
lors de la compilation d' stdafx.cpp
. Si vous souhaitez utiliser l'en-tête précompilé dans un autre .cpp
le fichier que vous devez inclure stdafx.h
comme le premier d'inclure le fichier et de le demander au compilateur d'utiliser stdafx.pch
pour votre en-tête précompilé.
Si vous obtenez une erreur de ne pas y compris stdafx.h
il vous suffit de demander au compilateur de ne pas utiliser un en-tête précompilé pour le fichier source. (Ou vous pouvez inclure stdafx.h
.)
D'en-tête précompilé pour les fichiers source
Visual C++ vous permet de contrôler les paramètres du compilateur pour l'ensemble du projet et pour des fichiers individuels. Pour accéder aux propriétés individuelles, vous sélectionnez le fichier source dans l'explorateur de solutions, cliquez droit dessus et sélectionnez Propriétés dans le menu contextuel. Les options pour les en-têtes précompilés sont trouvés à des Propriétés de Configuration => C/C++ => les en-Têtes Précompilés. Si vous modifiez ces paramètres, vous aurez souvent envie de le faire pour toutes les configurations (par exemple, Debug et Release).
Lorsque vous utilisez les en-têtes précompilés, vous aurez un paramètre pour l'ensemble du projet qui indique au compilateur d'utiliser stdafx.pch
pour l'en-tête précompilé. L' stdafx.cpp
auront un individu paramètres qui indique au compilateur de générer stdafx.pch
, et si vous avez des fichiers source qui ne comprennent pas stdafx.h
vous pouvez définir les paramètres individuels de sur ces de ne pas utiliser les en-têtes précompilés.