Utilisation des fichiers d'inclusion
Remonter à BCC32
Dans C++, les fichiers d'en-tête ont toujours l'extension de fichier .h
ou .hpp
.
Algorithmes de recherche des fichiers d'inclusion
BCC32 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 ou un répertoire avec votre instruction include, la recherche du compilateur ne s'applique 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 d'en-têtevcl.h
doit résider dans le répertoireC:\C++\include\vcl
.
Par ailleurs, si vous utilisez l'instruction :
#include <vcl\vcl.h>
et que vous définissez l'option Chemin de recherche des fichiers d'inclusion pour spécifier le cheminC:\C++\include
, le fichiervcl.h
doit résider dansC:\C++\include\vcl
, et pas dansC:\C++\include
niC:\vcl
.
- Si vous placez une instruction
#include <fichier>
dans votre code source, le compilateur recherche <fichier> uniquement dans les répertoires spécifiés par l'option Chemin de recherche des fichiers d'inclusion.
- Si vous placez une instruction
#include "fichier"
dans votre code source, le compilateur recherche <fichier> dans 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.
- Le répertoire du fichier contenant l'instruction
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 C++ recherche les bibliothèques implicites seulement dans les répertoires de bibliothèque spécifiés (option Chemin de bibliothèque). C'est similaire à l'algorithme de recherche utilisé 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. S'il ne la trouve pas, il la recherche dans les répertoires spécifiés par l'option Chemin de bibliothèque. C'est similaire à l'algorithme de recherche utilisé pour#include "fichier"
. - Si vous listez une bibliothèque spécifiée par l'utilisateur avec les informations de lecteur ou de répertoire (comme
C:\mystuff\mylib1.lib
), le compilateur C++ recherche seulement dans l'emplacement que vous avez explicitement listé dans le 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