Реферат: Препроцессор языка C.
так как предполагается, что в нем находятся файлы, имеющие отношение к
текущему обрабатываемому файлу. (Если указана опция '-I-', то текущий
каталог не просматривается.)
Аргумент FILE не может содержать символов '"'. Символы backslash
интерпретируются как отдельные символы, а не начало escape
последовательности. Таким образом, директива '#include "x\n\\y"' указывает
имя файла, содержащего три символа backslash.
'#include ANYTHING ELSE'
Эта модификация называется "вычисляемой директивой #include". Любая
директива '#include', не соответствующая ни одной из модификаций,
рассмотреных выше, является вычисляемой директивой. Строка ANYTHING ELSE
проверяется на наличие соответствующего макроса, значение которого затем
заменяет его название. Полученная в результате строка должна уже
в точности соответствовать одной из рассмотренных выше модификаций (то есть
имя подключаемого файла должно быть заключено в кавычки или угловые скобки).
Эта возможность позволяет определять макросы, что дает возможность
изменять имена подключаемых файлов. Эта возможность, например, используется
при переносе программ с одной операционной системы на другие, где требуются
разные подключаемые файлы.
3.3. Как работает директива '#include'
Директива '#include' указывает С препроцессору обработать указанный
файл перед обработкой оставшейся части текущего файла. Информация, выдаваемая
препроцессором, содержит уже полученные данные, за которыми следуют данные,
получаемые при обработке подключаемого файла, а за которыми, в свою очередь,
следуют данные, получаемые при обработке текста, следующего после директивы
'#include'. Например, дан следующий подключаемый файл 'header.h':
char *test ();
и основная программа с именем 'program.c', использующая этот файл.
int x;