Utilisation des fichiers d'inclusion
De RAD Studio (Français)
Remonter à Utilitaires en ligne de commande - Index
Dans C++, les fichiers d'inclusion ont toujours l'extension de fichier .h.
Algorithmes de recherche des fichiers d'inclusion
Le compilateur Embarcadero C++ recherche les fichiers inclus dans votre code source via la directive #include en procédant de la manière suivante :
- Si vous spécifiez un chemin et/ou un répertoire dans votre instruction include, le compilateur ne cherche qu'à l'emplacement spécifié.
Par exemple, si vous avez l'instruction suivante dans votre code :#include "c:\C++\include\vcl\vcl.h"
le fichier en-têtevcl.hdoit résider dans le répertoireC:\C++\include\vcl.
Par ailleurs, si vous utilisez l'instruction :#include <vcl\vcl.h>
et définissez l'option Chemin de recherche des fichiers d'inclusion (-I) pour spécifier le cheminC:\C++\include, le fichiervcl.hdoit résider dansC:\C++\include\vcl, et pas dansC:\C++\includeouC:\vcl.
- Si vous placez une instruction
#include <fichier>
dans votre code source, le compilateur recherchefichierseulement dans les répertoires spécifiés par l'option Chemin de recherche des fichiers d'inclusion (-I).
- Si vous placez une instruction
#include "fichier"
dans votre code source, le compilateur recherchefichierdans l'ordre suivant :- Le répertoire du fichier contenant l'instruction #include.
- Les répertoires des fichiers qui incluent (#include) ce fichier.
- Le répertoire en cours.
- Les répertoires spécifiés par l'option Chemin de recherche des fichiers d'inclusion (-I).
Algorithmes de recherche des fichiers de bibliothèque
Les algorithmes de recherche de fichiers de bibliothèque sont similaires à ceux des fichiers d'inclusion :
- Bibliothèques implicites : Le compilateur Embarcadero C++ recherche les bibliothèques implicites seulement dans les répertoires de bibliothèque spécifiés (option Chemin bibliothèque (-L)). C'est similaire à l'algorithme de recherche pour :
#include "fichier". Les fichiers de bibliothèque implicites sont ceux que le compilateur lie automatiquement dans le fichier objet de démarrage (C0x.OBJ). - Bibliothèques explicites : La façon dont vous listez le fichier de bibliothèque détermine en partie où le compilateur recherche les bibliothèques explicites (spécifiées par l'utilisateur). Les fichiers de bibliothèque explicites sont ceux que vous listez sur la ligne de commande ou dans un fichier projet ; leur nom est suivi de l'extension .LIB.
- Si vous listez un nom de fichier de bibliothèque explicite sans indiquer de lecteur ni de répertoire (comme MYLIB.LIB), le compilateur recherche d'abord cette bibliothèque dans le répertoire en cours. Si la première recherche est infructueuse, le compilateur recherche dans les répertoires spécifiés par l'option Chemin bibliothèque (-L). C'est similaire à l'algorithme de recherche pour
#include "fichier". - Si vous listez une bibliothèque spécifiée par l'utilisateur avec les informations de lecteur et/ou de répertoire (comme dans :
c:\mystuff\mylib1.lib), le compilateur Embarcadero C++ effectue la recherche seulement dans l'emplacement que vous avez explicitement listé en tant que partie du nom de chemin de la bibliothèque, et pas dans les répertoires de bibliothèque spécifiés.
- Si vous listez un nom de fichier de bibliothèque explicite sans indiquer de lecteur ni de répertoire (comme MYLIB.LIB), le compilateur recherche d'abord cette bibliothèque dans le répertoire en cours. Si la première recherche est infructueuse, le compilateur recherche dans les répertoires spécifiés par l'option Chemin bibliothèque (-L). C'est similaire à l'algorithme de recherche pour