Share via


# include směrnice (C/C++)

#include Směrnice udává obsah zadaného souboru pracovat, jako by měl tento obsah objevily ve zdrojové aplikaci v místě, kde se objeví směrnice preprocesoru.

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

Poznámky

Můžete uspořádat definice konstanty a makra do souborů zahrnout a potom pomocí #include směrnic přidat tyto definice pro každý zdrojový soubor.Zahrnout soubory jsou užitečné pro zahrnutí deklarací externích proměnných a komplexní datové typy.Je třeba definovat a název typy pouze jednou v souboru zahrnout vytvořené pro tento účel.

Cestu spec je název souboru volitelně před specifikaci adresáře.Název existujícího souboru musí být název souboru.Syntaxe cestu spec závisí na operačním systému, na kterém je program zkompilován.

Informace o odkazu sestavení v C++ aplikace zkompilována /clr, viz pomocí #.

Obě formy syntaxe způsobit nahrazení směrnice celý obsah souboru zadaný zahrnout.Rozdíl mezi dvěma formuláři je pořadí, ve kterém preprocesoru záhlaví souborů při hledání cesty zadána neúplně.Následující tabulka ukazuje rozdíl mezi dvě syntaktické formy:

Syntaxe formuláře

Akce

Nabízené formuláře

Preprocesoru vyhledává soubory zahrnutí v následujícím pořadí:

  1. Ve stejném adresáři jako soubor, který obsahuje #include prohlášení.

  2. V adresářích všech dříve otevřeli zahrňte soubory v obráceném pořadí, ve kterém byly otevřeny.Vyhledávání začne v adresáři zahrnout soubor, který byl otevřen naposledy a pokračuje v adresáři zahrnout soubor, který byl poprvé otevřen.

  3. Podél cesty určené každou možnost /I kompilátoru.

  4. Podél cesty určené proměnnou prostředí zahrnout.

Formulář úhlová závorka

Preprocesoru vyhledává soubory zahrnutí v následujícím pořadí:

  1. Podél cesty určené každou možnost /I kompilátoru.

  2. Při kompilaci z příkazového řádku podél cesty, které jsou určené proměnnou prostředí zahrnout.

Preprocesoru zastaví hledání co nejdříve vyhledá soubor s daným názvem.Pokud zadáte cestu úplné a jednoznačné specifikace souboru zahrnout mezi uvozovkami (""), preprocesoru prohledá pouze specifikace, cestu a ignoruje standardní adresáře.

Pokud specifikaci neúplné cesta název_souboru uzavřený v uvozovkách, preprocesoru první prohledá adresář souboru "nadřazené".Nadřazený soubor je soubor obsahující #include směrnice.Například obsahuje soubor s názvem file2 v souboru s názvem file1, file1 je nadřazený soubor.

Soubory mohou být "vnořené"; #include směrnice se mohou objevit v souboru s jiným názvem #include směrnice.Například file2, výše mohou zahrnovat file3.V tomto případě file1 nadále rodiče file2 ale by "nadřazený" z file3.

Když zahrnout soubory jsou vnořené a prohledávání adresáře začíná adresáře nadřazený soubor při kompilaci z příkazového řádku a pak pokračuje adresáře všechny soubory prarodičovského chovu.Proto hledání začíná relativní k adresáři obsahující zdroj právě zpracovává.Pokud soubor není nalezen, hledání přesune do adresáře určeného parametrem /I kompilátoru.Nakonec jsou prohledány adresáře určené proměnnou prostředí zahrnout.

Z prostředí vývoj systémové proměnné INCLUDE je ignorována.Nastavení adresářů vyhledány soubory zahrnutí (tyto informace platí také pro proměnnou prostředí LIB.), viz VC ++ adresářů, projekty, dialogové okno Možnosti.

Následující příklad ukazuje zařazení souboru pomocí závorek:

#include <stdio.h>

Tento příklad přidá obsah souboru s názvem STDIO.H do zdrojového programu.Lomené závorky způsobit předprocesoru vyhledávání adresářů určených pro STDIO proměnnou prostředí zahrnout.H prohledání adresáře určeného parametrem /I kompilátoru.

Následující příklad ukazuje zařazení souboru nabízené ve formuláři:

#include "defs.h"

Tento příklad přidá obsah souboru určeného parametrem DEFS.H do zdrojového programu.Dvojité uvozovky znamenají, že preprocesoru prohledá adresář nadřazeného zdrojový soubor obsahující první.

Pokračovat až 10 úrovní vnoření zahrnout soubory.Jednou vnořené #include je zpracován, pokračuje preprocesoru ohraničujícím zahrnout soubor lze vložit do původního zdrojového souboru.

Konkrétní společnosti Microsoft

Includable zdrojové soubory, vyhledáte preprocesoru první hledání adresáře určené možnost /I kompilátoru.Pokud není k dispozici možnost /I nebo selže, preprocesoru používá systémové proměnné INCLUDE najít všechny soubory zahrnout do lomených závorek.Možnost zahrnout prostředí proměnné a/i kompilátor může obsahovat více cest oddělených středníky (;).Pokud více než jeden adresář se zobrazí jako součást možnost /I nebo v systémové proměnné INCLUDE, budou preprocesoru hledá v pořadí, v jakém jsou uvedeny.

Například příkaz

CL /ID:\MSVC\INCLUDE MYPROG.C

způsobí předprocesoru hledání zahrnout soubory jako STDIO v adresáři D:\MSVC\INCLUDE.H.Příkazy

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

mají stejný účinek.Pokud obě sady hledání, je generována chyba závažná kompilátoru.

Pokud plně zadaný název souboru pro soubor začlenění cestou, která obsahuje dvojtečku (například F:\MSVC\SPECIAL\INCL\TEST.H) preprocesoru následuje cesta.

Zahrnout soubory jako #include**"cestu spec"**, prohledávání adresáře začíná adresář nadřazeného souboru a poté pokračuje adresáře všechny soubory prarodičovského chovu. Proto hledání začíná relativní do adresáře obsahujícího zdrojový soubor obsahující #include směrnice zpracovávány.Pokud není žádný nadřazený soubor a soubor nebyl nalezen, bude hledání pokračovat, pokud název souboru byly uzavřeny v lomených závorkách.

Konec konkrétní společnosti Microsoft

Viz také

Referenční dokumentace

Direktivy preprocesoru