Include - інтернет підручник c builder

Директива #include вказує, що препроцесор обробляє вміст зазначеного файлу, якщо це вміст з'явилося в програмі джерела в тій точці, де відображається директива.

#include "path-spec"
#include

шлях-специфікації назву, якщо треба, якому передує специфікацією каталогу. Назва файлу повинна мати ім'я існуючого файлу. синтаксис шлях-специфікації залежить від операційної системи, в якій програма компілювати.

Пошук препроцесора, включає файли в наступному порядку:
1. У тому ж каталозі, що і файл, який містить #include.
2. У каталогах раніше відкритих всіх включення файл в зворотному порядку, в якому вони були відкриті. Пошук починається від каталогу включається файлу, який був відкритий в останній раз, потім продовжує через каталог включається файлу, який був відкритий в першу чергу.
3. Уздовж шляху конкретного кожного параметра компілятора / I.
4. Уздовж шляхів, зазначених у змінній середовища INCLUDE.

Пошук препроцесора, включає файли в наступному порядку:
1. Уздовж шляху конкретного кожного параметром компілятора / I.
2. При компіляції в командному рядку уздовж шляхів, зазначених у змінній середовища INCLUDE.

Препроцесор припинить пошук тільки тоді, коли йому вдається знайти файл з заданим ім'ям. Якщо вказано full. точно, представлену специфікацію шляху для файлу включення між подвійними лапками ( ""), то специфікація шляху ігноруватиме стандартні каталоги.

Якщо ім'я файлу укладену в подвійні лапки, то директива спочатку шукає «батьківський» каталогфайлів. Батьківський файл містить директиву #include. Наприклад, якщо вказати файл file2 в файлі file1, file1 батьківський файл.

Підключення файли можуть бути вкладені, тобто #include директива може з'являтися в файл з іншим ім'ям #include директиви. Наприклад, в file2 підключений file3. В цьому випадку file1 і раніше батько file2, але став «дідом» для file3.

У наступному прикладі показано включення файлів за допомогою кутові дужки:

Цей приклад додає вміст файлу з ім'ям STDIO.H до програми. Кутові дужки викликають пошук препроцесора в каталогах, зазначених у змінній середовища INCLUDE для STDIO.H.

У наступному прикладі показано включення файлів за допомогою лапках форму:

Цей приклад додає вміст файлу, вказаного DEFS.H до програми. Подвійні лапки означають, що препроцесор шукає каталог, що містить батьківський файл джерела.

Вкладення включення файл може тривати до 10 рівнів.

Тільки для систем Microsoft

Щоб знайти includable вихідні файли, препроцесор спочатку виконує пошук в каталогах, зазначених параметром компілятора / I. Якщо параметр / I відсутнє або завершився помилкою, то препроцесор використовує змінну середовища INCLUDE. щоб знайти будь-які включені файли в кутові дужки. Змінна середовища INCLUDE і параметр компілятора / I можуть містити кілька розділених крапкою з комою (path;). Якщо більш ніж один каталог з'являється як частина параметра / I або у змінній середовища INCLUDE. препроцесор шукає їх в порядку їх розташування, наприклад, команда:

CL / ID: \ MSVC \ INCLUDE MYPROG.C

викликає препроцесор каталог D: \ MSVC \ INCLUDE для пошуку включення файл, як STDIO.H. команди:

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

мають один і той же ефект. Якщо обидва набору пошуку завершуються помилкою, то фатальна помилка компілятора буде створена.

Якщо ім'я файлу вказано повністю, що включається файлу з шляхом, який містить двокрапку (наприклад, F: \ MSVC \ SPECIAL \ INCL \ TEST.H), то препроцесор слід цим шляхом.

Для включення файл, визначені як #include "шлях-специфікації", пошук каталогів починається з каталогу батьківського файлу, а потім продовжує в каталогах всіх файлів діда. Таким чином, починається пошук по відношенню до каталогу. Якщо файл діда і файл не знайдений, то пошук продовжується, якщо ім'я файлу укладено в кутові дужки.