Direttiva #include (C/C++)

#include la direttiva indica al preprocessore di trattare il contenuto di un file specificato come se tali contenuto siano visualizzati nel programma di origine nel punto in cui la direttiva viene visualizzato.

#include  "path-spec"
#include  <path-spec>

Note

È possibile organizzare la costante e le definizioni macro nei file di inclusione e quindi utilizzare #include direttive per aggiungere queste definizioni a qualsiasi file di origine.I file di inclusione sono utili anche per incorporare le dichiarazioni delle variabili esterne e i tipi di dati complessi.È necessario definire una sola volta e denominare i tipi in un file di inclusione creato a tale scopo.

PATH-spec. è un nome file è preceduto da una specifica la directory.Il nome file deve avere un file esistente.La sintassi di PATH-spec. dipende dal sistema operativo in cui si compila il programma.

Per informazioni su come fare riferimento agli assembly dell'applicazione C++ compilata con /clr, vedere #using.

Entrambe le forme di sintassi provocano la sostituzione della direttiva dall'intero contenuto del file di inclusione specificato.La differenza tra i due form è l'ordine in cui il preprocessore cerca i file di intestazione quando il percorso in modo non completo è specificato.La tabella riportata di seguito viene illustrata la differenza tra le due forme di sintassi:

Forme di sintassi

Azione

form tra virgolette

Le ricerche del preprocessore file di inclusione nell'ordine seguente:

  1. Nella stessa directory del file che contiene #include istruzione.

  2. Nelle directory dei file di inclusione precedentemente aperti nell'ordine inverso in cui sono stati aperti.La ricerca inizia dalla directory del file di inclusione che è stato aperto per ultimo e continua attraverso la directory del file di inclusione che è stato aperto per primo.

  3. Lungo il percorso specificato da ciascuna opzione del compilatore /I.

  4. Lungo percorsi specificati dalla variabile di ambiente INCLUSIONE.

Form della parentesi angolare

Le ricerche del preprocessore file di inclusione nell'ordine seguente:

  1. Lungo il percorso specificato da ciascuna opzione del compilatore /I.

  2. Durante la compilazione dalla riga di comando, lungo percorsi specificati dalla variabile di ambiente di inclusione.

Il preprocessore termine della ricerca non appena trova un file con il nome specificato.Se si specifica una specifica completa e non ambigua del percorso del file di inclusione tra virgolette doppie (““), cerca del preprocessore solo che la specifica del percorso e ignora le directory standard.

Se il nome file racchiuso tra virgolette è una specifica completa del percorso, il preprocessore cerca innanzitutto la directory del file “padre„.Un file padre è contenuto del file #include direttiva.Ad esempio, si include un file denominato file2 in un file denominato file1, file1 è il file padre.

I file di inclusione possono essere “annidati„; ovvero #include la direttiva può essere specificata in un file denominato da un altro #include direttiva.Ad esempio, file2, in, potrebbe includere file3.in questo caso, file1 ancora essere il padre di file2 ma essere “il padre di„ file3.

Quando i file di inclusione sono annidati e quando si compila dalla riga di comando, la directory alla ricerca inizia con le directory del file padre e quindi continua attraverso le directory di tutti i file padre del padre.Pertanto, la ricerca inizia relativo alla directory contenente il file di origine attualmente sviluppato.Se il file non è presente, la ricerca viene spostato sulle directory specificate dall'opzione del compilatore /I.Infine, le directory specificate dalla variabile di ambiente include disponibili.

Dall'ambiente di sviluppo, la variabile di ambiente include viene ignorata.Per impostare le directory ha individuato i file di inclusione (queste informazioni vengono applicati anche alla variabile di ambiente LIB.), vedere directory di VC++, progetti, finestra di dialogo Opzioni.

Nell'esempio seguente viene illustrato il file includono l'utilizzo delle parentesi acute:

#include <stdio.h>

In questo esempio viene aggiunto il contenuto del file denominato STDIO.H al programma di origine.Le parentesi angolari spingono il preprocessore a trovare le directory specificate dalla variabile di ambiente include STDIO.H, dopo la ricerca delle directory specificate dall'opzione del compilatore /I.

Nell'esempio seguente viene illustrato il file includere nel formato tra virgolette:

#include "defs.h"

In questo esempio viene aggiunto il contenuto del file specificato da DEFS.H al programma di origine.Le virgolette doppie indicano che il preprocessore trova la directory contenente il file di origine padre per primo.

L'annidamento dei file di inclusione possibile continuare fino a 10 livelli.Una volta che il annidato #include viene elaborato, il preprocessore continua a inserire il file di inclusione di inclusione nel file di origine originale.

Specifici di Microsoft

Per individuare i file di origine inclusi, il preprocessore cerca innanzitutto le directory specificate dall'opzione del compilatore /I.Se l'opzione /I non è presente o non riesce, il preprocessore utilizza la variabile di ambiente di inclusione per trovare tutti i file di inclusione tra parentesi angolari.La variabile di ambiente di inclusione e l'opzione del compilatore /I possono contenere i percorsi più separati da punto e virgola (;).Se più di una directory viene visualizzato come parte dell'opzione /I di o all'interno della variabile di ambiente include, il preprocessore li trova nell'ordine in cui appaiono.

Ad esempio, il comando

CL /ID:\MSVC\INCLUDE MYPROG.C

determina il preprocessore viene trovata la directory D: \MSVC\INCLUDE for include files such as STDIO.H.I controlli

SET INCLUDE=D:\MSVC\INCLUDE
CL MYPROG.C

ottenere lo stesso risultato.Se entrambi i set di ricerca ha esito negativo, un errore interno di compilazione viene generato.

Se il nome file è completamente specificato per un file di inclusione con un percorso che include i due punti (ad esempio, F# Interactive: \MSVC\SPECIAL\INCL\TEST.H), il preprocessore segue il percorso.

Per i file di inclusione specificate come #include PATH-spec., la directory alla ricerca inizia con la directory del file padre e quindi continua attraverso le directory di tutti i file padre del padre.Pertanto, la ricerca inizia relativo alla directory contenente contenere il file di origine #include direttiva che viene elaborata.Se non c " è file del padre e il file non è stato trovato, la ricerca prosegue come se il nome del file sia stato racchiuso tra parentesi acute.

Microsoft FINALE specifico

Vedere anche

Riferimenti

Direttive per il preprocessore