Udostępnij za pośrednictwem


# include dyrektywy (C/C++)

#include Dyrektywy informuje o tym, aby traktować zawartość określonego pliku, tak jakby te treści pojawiła się w programie źródłowym w punkcie, w którym pojawia się dyrektywy preprocesora.

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

Uwagi

Można zorganizować definicje stała i makra do dołączania plików, a następnie użyć #include dyrektyw, aby dodać te definicje do dowolnego pliku źródłowego.Zawiera pliki są także przydatne przy dołączaniu deklaracje zmiennych zewnętrznych i złożone typy danych.Konieczne jest zdefiniowanie i nazwy typów tylko raz w pliku dołączenia utworzone w tym celu.

Ścieżki spec jest nazwa pliku opcjonalnie poprzedzone specyfikacją katalogu.Nazwa pliku, trzeba nadać nazwę istniejącego pliku.Składnia ścieżki spec zależy od systemu operacyjnego, na którym program jest kompilowana.

Aby uzyskać informacje o sposobach zespołów odniesienia w aplikacjach C++ skompilowany z /CLR, zobacz za pomocą #.

Obie formy składni spowodować zastąpienie tej dyrektywy przez całą zawartość pliku dołączanego określony.Różnica między dwoma formularzami jest kolejność, w którym preprocesora szuka plików nagłówkowych gdy ścieżka jest w pełni podany.W poniższej tabeli przedstawiono różnice między dwie formy składni:

Składnia formularza

Akcja

Przytoczona formularza

Preprocesora szuka plików dołączanych w następującej kolejności:

  1. W tym samym katalogu co plik, który zawiera #include instrukcji.

  2. W katalogach wszelkich uprzednio otwarty dołączyć pliki w odwrotnej kolejności, w jakiej zostały otwarte.Wyszukiwanie rozpoczyna się od katalogu pliku dołączanego, który został ostatnio otwarty i trwa do katalogu pliku dołączanego, który został najpierw otwarty.

  3. Wzdłuż ścieżki określonej przez każda opcja kompilatora.

  4. Wzdłuż ścieżki określonej przez zmienną środowiskową INCLUDE.

Formularz nawias kątowy

Preprocesora szuka plików dołączanych w następującej kolejności:

  1. Wzdłuż ścieżki określonej przez każda opcja kompilatora.

  2. Podczas kompilowania z wiersza polecenia, wzdłuż ścieżki, które są określone przez zmienną środowiskową INCLUDE.

Preprocesora zatrzymuje wyszukiwanie, jak tylko znajdzie pliku o podanej nazwie.Jeśli określona specyfikacja kompletne, jednoznaczne ścieżkę dla pliku dołączanego w podwójnym cudzysłowie (""), preprocesora przeszukuje tylko tej specyfikacji ścieżki i ignoruje standardowych katalogów.

Jeśli nazwa pliku ujęta w znaki cudzysłowu jest specyfikacją ścieżki niekompletne, preprocesora najpierw przeszukuje katalog pliku "nadrzędnej".Nadrzędny jest to plik zawierający #include dyrektywy.Na przykład, jeśli zawiera plik o nazwie file2 w pliku o nazwie file1, file1 jest plikiem nadrzędnym.

Dołącz pliki mogą być "zagnieżdżonych"; oznacza to, że #include dyrektywy mogą pojawiać się w pliku o nazwie przez innego #include dyrektywy.Na przykład file2, powyższe może obejmować file3.W tym przypadku file1 nadal będzie nadrzędnym z file2 , ale byłoby "pokolenia" z file3.

Gdy zawierają pliki są zagnieżdżone i podczas kompilacji z wiersza polecenia, przeszukiwanie katalogu zaczyna się od katalogi plik nadrzędny i następnie przechodzi poprzez katalogów plików pokolenia.W ten sposób wyszukiwanie rozpoczyna się względem katalogu zawierającego źródła aktualnie przetwarzane.Jeśli plik nie zostanie znaleziony, przenosi katalogi określone przez kompilator opcja wyszukiwania.Wreszcie przeszukiwane są katalogi, określonej przez zmienną środowiskową INCLUDE.

Od środowiska programistycznego zmienną środowiskową INCLUDE jest ignorowana.Aby ustawić katalogi wyszukiwane pliki nagłówkowe (informacje te dotyczą również do zmiennej środowiska LIB.), zobacz VC ++ katalogów, projekty, okno dialogowe Opcje.

Włączenie pliku przy użyciu nawiasy można znaleźć w poniższym przykładzie:

#include <stdio.h>

W tym przykładzie dodaje zawartość pliku o nazwie STDIO.H do programu źródłowego.Nawiasy kątowe spowodować preprocesora do wyszukiwania katalogów, określony przez zmienną środowiskową INCLUDE dla STDIO.H po zakończeniu wyszukiwania katalogi określone przez kompilator opcja.

Włączenie pliku przy użyciu formularza zaoferowanego można znaleźć w poniższym przykładzie:

#include "defs.h"

W tym przykładzie dodaje zawartość w pliku określonym przez DEFS.H do programu źródłowego.Podwójny cudzysłów oznacza, że preprocesora przeszukuje katalog zawierający plik źródłowy nadrzędny najpierw.

Zagnieżdżanie plików dołączanych można kontynuować do 10 poziomów.Raz zagnieżdżonych #include jest przetwarzane, preprocesora nadal wstawić otaczający pliku dołączanego do oryginalnego pliku źródłowego.

Programu Microsoft

Aby zlokalizować pliki źródłowe includable, preprocesora najpierw przeszukuje katalogi określone przez kompilator opcja.Jeśli opcja /I nie istnieje lub nie powiedzie się, preprocesora używa zmienną środowiskową INCLUDE, aby znaleźć wszystkie pliki nagłówkowe w nawiasy ostre.Dołącz środowiska zmiennej i /I opcję kompilatora może zawierać wiele ścieżek oddzielonych średnikami (;).Jeśli więcej niż jeden katalog pojawia się jako część opcji /I lub w ramach zmienną środowiskową INCLUDE, preprocesora przeszukuje je w kolejności, w jakiej są wyświetlane.

Na przykład polecenie

CL /ID:\MSVC\INCLUDE MYPROG.C

powoduje, że preprocesora wyszukiwanie katalogu D:\MSVC\INCLUDE plików dołączanych, takich jak STDIO.H.Polecenia

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

mają ten sam efekt.Jeśli oba zestawy wyszukiwania nie powiodą się, generowany jest błąd krytyczny kompilatora.

Jeśli nazwa pliku jest w pełni określony w pliku dołączenia, którego ścieżka zawiera dwukropek (na przykład F:\MSVC\SPECIAL\INCL\TEST.H) ścieżkę następuje preprocesora.

Dołączanie plików określony jako #include " "ścieżki spec"", przeszukiwanie katalogu zaczyna się od katalogu nadrzędnego pliku i następnie przechodzi poprzez katalogów plików pokolenia. W ten sposób, wyszukiwanie rozpoczyna się względem katalogu zawierającego plik źródłowy zawierający #include dyrektywy przetwarzane.Jeśli nie ma pliku rodzicielskiego i plik nie został znaleziony, wyszukiwanie jest kontynuowane tak, jakby nazwa_pliku zostały ujęte w nawiasy ostre.

KONIEC Microsoft szczególne

Zobacz też

Informacje

Dyrektywy preprocesora