Директива #include

Директива препроцессора, которая вставляет содержимое указанного файла в исходную программу в точке, где появляется директива.

#include "filename"
< имя файла #include>

Параметры

Элемент Описание
filename Имя включаемого файла, при необходимости предшествуя спецификации каталога. Имя файла должно указывать существующий файл.

Комментарии

Директива #include приводит к замене директивы всем содержимым указанного файла. Препроцессор прекращает поиск, как только находит файл с указанным именем; Если указать полную, однозначную спецификацию пути для файла, препроцессор выполняет поиск только по указанному пути.

Примечание

Средство Effect-Compiler имеет встроенный обработчик включения, использующий параметр /I. Однако при выполнении компилятора из API можно предоставить настраиваемый обработчик включения, реализовав интерфейс ID3DXInclude.

Разница между двумя формами синтаксиса заключается в порядке, в котором препроцессор ищет файлы заголовков, если путь не указан, как показано в следующей таблице.

Форма синтаксиса Шаблон поиска препроцессора
#include "filename" Выполняет поиск включаемого файла:
  1. в том же каталоге, что и файл, содержащий директиву #include.
  2. в каталогах всех файлов, содержащих директиву #include для файла, содержащего директиву #include.
  3. в путях, заданных параметром компилятора /I, в порядке их перечисления.
  4. в путях, заданных переменной среды INCLUDE, в порядке их перечисления.

    ПРИМЕЧАНИЕ.
    Переменная среды INCLUDE игнорируется в среде разработки. Сведения о том, как задать пути включения для проекта, см. в документации по среде разработки.


< имя файла #include> Выполняет поиск включаемого файла:
  1. в путях, заданных параметром компилятора /I, в порядке их перечисления.
  2. в путях, заданных переменной среды INCLUDE, в порядке их перечисления.

    ПРИМЕЧАНИЕ.
    Переменная среды INCLUDE игнорируется в среде разработки. Сведения о том, как задать пути включения для проекта, см. в документации по среде разработки.


Примеры

В следующем примере препроцессор заменяет директиву #include содержимым stdio.h. Так как в примере используется формат угловой скобки, препроцессор будет искать файл только в каталогах, перечисленных параметром компилятора /I и переменной среды INCLUDE.

#include <stdio.h>

См. также раздел