ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. Препроцессор (англ. preprocessor) – программа, выполняющая предварительную обработку входных данных для другой программы [1]
Препроцессор (англ. preprocessor) – программа, выполняющая предварительную обработку входных данных для другой программы [1]. Препроцессор языка программирования С просматривает программу до компилятора и заменяет в ней определенные сочетания символов (символические аббревиатуры) на соответствующие директивы. Он отыскивает и подключает к программе необходимые файлы и может изменить условия компиляции [1]. Препроцессор имеет тот же смысл, что и буферный процессор. Препроцессор языка С выполняет макроподстановку, условную компиляцию и включение именованных файлов. Строки, начинающиеся со знака # (перед которыми разрешены символы пустого пространства), задают препроцессору инструкции-директивы. Их синтаксис не зависит от остальной части языка, они могут фигурировать где угодно и оказывать влияние (независимо от области действия) вплоть до конца единицы трансляции. Границы строк принимаются во внимание: каждая строка анализируется отдельно (но есть возможность и сцеплять их). Лексемами для препроцессора являются все лексемы языка и последовательность символов, задающие имена файлов. Кроме того, любой символ, не определенный каким-либо другим способом, также воспринимается как лексема [2]. Влияние символов пустого пространства, отличающихся от пробелов и горизонтальных табуляций, внутри строк препроцессора не определено. В предыдущих темах уже встречались строки с начальным символом #: #include и #define. Первая директива (инструкция) использовалась для подключения заголовочных файлов, главным образом из библиотеки языка С, а вторая – для подстановки символов или чисел в определенные места программного кода. Имеются следующие директивы препроцессора:
Каждая директива препроцессора должна занимать отдельную строку. Например, строка
рассматривается как недопустимая [3].
|