#include

De RAD Studio
Aller à : navigation, rechercher

Remonter à Directives du préprocesseur - Index


Syntaxe

#include <header_name>
#include "header_name"
#include <macro_definition>

Pour plus d'informations à propos de la syntaxe #include avec les compilateurs C++ améliorés par Clang, voir Compilateurs C++ améliorés par Clang, Recherches et chemins #include.

Description

La directive #include intègre d'autres fichiers nommés (appelés fichiers d'inclusion, fichiers d'en-tête ou en-têtes) dans le code source. La syntaxe se présente sous trois versions :

  • Les deux premières versions impliquent qu'aucun développement de macro ne sera tenté. En d'autres termes, header_name ne sera jamais analysé pour les identificateurs de macros. header_name doit être un nom de fichier valide avec une extension (traditionnellement .h pour les fichiers d'en-tête), et éventuellement un nom de chemin et des délimiteurs de chemins.
  • La troisième version suppose que ni < ni " n'apparaît en tant que premier caractère différent d'un espace après #include. En outre, elle suppose l'existence d'une définition de macro qui développera l'identificateur de macro en un nom d'en-tête valide, délimité, au format <nom_en_tête> ou "nom_en_tête".

Le préprocesseur retire la ligne #include et la remplace conceptuellement par le texte entier du fichier d'inclusion au même endroit dans le code source. Le code source lui-même n'est pas modifié, mais le compilateur "voit" le texte agrandi. L'emplacement de #include peut en effet influencer la portée et la durée de vie des identificateurs figurant dans le fichier inclus.

Si vous placez un chemin explicite dans nom_en_tête, seul ce répertoire sera soumis à la recherche.

La différence entre les formats <nom_en_tête> et "nom_en_tête" réside dans l'algorithme de recherche employé en essayant de localiser le fichier d'inclusion :

Forme de la syntaxe Algorithme de recherche

Forme Guillemets

La version "nom_en_tête" spécifie un fichier d'inclusion fourni par l'utilisateur ; la recherche du fichier s'effectue dans l'ordre suivant :

  1. Le répertoire du fichier contenant l'instruction #include.
  2. Les répertoires des fichiers qui incluent (#include) ce fichier.
  3. Le répertoire en cours.
  4. Le chemin spécifié par l'option Chemin de recherche des fichiers d'inclusion (-I).

Forme Crochets angulaires

La version <nom_en_tête> spécifie un fichier d'inclusion standard. La recherche est effectuée successivement dans chacun des répertoires d'inclusion dans l'ordre où ils ont été définis par l'option Chemin de recherche des fichiers d'inclusion (-I). Si le fichier ne réside dans aucun des répertoires par défaut, un message d'erreur est émis.

Voir aussi