web-dev-qa-db-fra.com

Qu'est-ce que "pch.h" et pourquoi doit-il être inclus comme premier fichier d'en-tête?

#include "pch.h"
#include <stdio.h>
#include <string.h>

Qu'est-ce que "pch.h"? Pourquoi doit-il être inclus en tant que premier fichier d'en-tête?

19
Lee Tim Fu

pch signifie en-tête précompilé .

En programmation informatique, un en-tête précompilé est un fichier d'en-tête (C ou C++) qui est compilé dans une forme intermédiaire qui est plus rapide à traiter pour le compilateur. L'utilisation d'en-têtes précompilés peut réduire considérablement le temps de compilation, en particulier lorsqu'ils sont appliqués à des fichiers d'en-tête volumineux, à des fichiers d'en-tête contenant de nombreux autres fichiers d'en-tête ou à des fichiers d'en-tête inclus dans de nombreuses unités de traduction.

Pour réduire les temps de compilation, certains compilateurs permettent de compiler les fichiers d'en-tête dans un formulaire plus rapide à traiter pour le compilateur. Cette forme intermédiaire est connue sous le nom d'en-tête précompilé et est généralement conservée dans un fichier nommé avec l'extension .pch ou similaire, tel que .gch sous la collection de compilateurs GNU).

Dans Visual Studio, l'en-tête précompilé est généralement nommé "pch.h" (pour les applications basées sur la console), mais il est possible d'utiliser un nom différent ou de ne pas l'utiliser du tout. Le fichier qui serait précompilé, le cas échéant, est déterminé par les paramètres du projet.

Si le fichier d'en-tête précompilé est "pch.h" et que l'option de compilation est /Yu, Visual Studio ne compilera rien avant le #include "pch.h" dans le fichier source; il suppose que tout le code dans la source jusqu'à et y compris cette ligne est déjà compilé.

14
P.W