Си++/Препроцессорные директивы: различия между версиями
Содержимое удалено Содержимое добавлено
Метки: с мобильного устройства из мобильной версии |
→Директива #include: Исправлено название ”предпроцессор” на “препроцессор”. Метки: с мобильного устройства из мобильной версии |
||
Строка 45:
Директива '''#include''' добавляет содержимое заданного файла в другой файл. Можно организовать определения констант и макро в отдельном файле, а затем вставить его директивой #include в любой другой файл. Вставка файлов также очень удобна для объединения объявлений внешних переменных и сложных типов данных. Нужно определить и задать имена этих типов только один раз в созданный для этих целей файл.
Директива #include информирует
"Спецификация пути" это имя файла, которому может предшествовать директория. Это должно быть имя существующего файла. Синтаксис спецификации файла зависит от операционной системы, в которой компилируется программа.
При поиске файлов
Если заключенная в двойные цитатные скобки спецификация файла является неполной, то
Вставка файлов может быть вложенной. Т.е. директива #include может появляться в файле, который сам вставляется директивой #include. Файл f2 может вызывать файл f3. В этом случае f1 все еще будет родительским для f2, но "дедушкой" для f3.
Строка 59:
При вложенной вставке файлов поиск директории начинается с родительского файла, затем проходит по дедушкиным файлам. Следовательно, поиск начинается в директории, которая содержит обрабатываемый исходный файл. Если файл не найден, то поиск продолжается в директориях, заданных в командной строке компилятора. И, наконец, производится поиск в стандартной директории.
Если спецификация файла заключена в угловые скобки, то
Допускается вложение вставки файлов до 10 уровней. При обработке вложенных #include
===Директива #undef===
|