Читайте также: |
|
Препроцессор работает на первой фазе компиляции. Он готовит текст программы к его последующей обработке компилятором: удаляет комментарии и выполняет директивы препроцессора. Как правило, препроцессор встроен в компилятор. В Borland C++ имеется автономно работающий препроцессор cpp.exe, с помощью которого можно получить файл, обработанный препроцессором. Для управления препроцессором, т е для для задания нужных действий, используются команды (директивы) препроцессора, которые имеют следующий формат: #[имя_директивы][лексемы_препроцессора] (каждая директива помещается на отдельной строке)
Препроцессор не относится к языку программирования, его назначение состоит в обработке исходного текста программы, поэтому препроцессорные лексемы не совпадают с лексемами языка С++. Набор препроцессорных лексем включает символьную константу, имя объекта-заголовка, идентификатор, знак операции, строку символов и любой символ не являющийся пробелом, который нельзя отнести к перечисленным выше. При записи директив допускаются пробелы перед знаком #, между # и именем директивы, а также перед лексемами препроцессора, между ними и после. Директивы могут появляться в любом месте программы, они оказывают влияние от точки их появления до конца транслируемой компоненты. Строка, заканчивающаяся обратной наклонной чертой (\) соединяется со следующей. Это позволяет размещать длинные директивы препроцессора на нескольких строках.
Имя | Назначение |
#define #undef #include #if #ifdef #ifndef #else #elif #endif #line #error #pragma # | Определение макроса Отмена определения макроса Включение текста из внешнего файла Компиляция, если выражение истинно Компиляция, если макрос определен Компиляция, если макрос не определен Альтернатива для #if, #ifdef, #ifndef Составная директива else/if Окончание группы компиляции по условию Замена новым значением номера строки или имени ткущего файла Прерывает компиляцию с выдачей сообщения об ошибке Действие определяется реализацией системы программирования Пустая директива |
Директива #pragma позволяет управлять специфическими возможностями компилятора. Синтаксис директивы следующий #pragma ДИРЕКТИВА_pragma
Директивы pragma TC++ 3.0
Директива | Описание |
Exit startup | Позволяет указать функцию, которая должна быть вызвана перед завершением программы. Вызываемая функция fn должна быть объявлена как void fn(void) Позволяет указать функцию, которая должна выполняться перед main. Объявление вызываемой функции fn должно иметь вид void fn(void) |
Дата добавления: 2015-07-08; просмотров: 409 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Привести пример программы по обработке строк. | | | Макросы. Макросы с параметрами. |