ВУЗ:
Составители:
Рубрика:
#ifdef DEBUG
printf("%d", a);
#endif
#undef DEBUG
#ifndef DEBUG
printf("Отладка программы закончилась");
#endif
В приведенном примере с помощью директив условной компиляции формируется инициализирующее
выражения при определении переменной а и сообщение для вывода на печать.
4 Пустая директива:
#
5 Директива нумерации строк:
#line константа
Следующей за директивой строке в тексте программы будет присвоен указанный в директиве номер.
6 Выдача сообщений об ошибке:
#error сообщение
7 Задание настроек компилятора:
#pragma список_лексем
В директивах препроцессора разрешено использовать три препроцессорные операции: #, ## и de-
fined.
Операции # и ## употребляются вместе с директивой #define для упрощения работы с лексемами в
строке замещения. Унарная операция # требует, чтобы идущая следом лексема была выделена в кавыч-
ки. Бинарная операция ## обеспечивает конкатенацию лексем в стоке замещения.
Унарная операция
defined аргумент
применяется вместе с директивами условной компиляции #if и #elif для упрощения записи сложных ус-
ловий выбора. Она проверяет, был ли определен с помощью директивы #define указанный аргумент. В
случае положительного результата проверки условия возвращается величина 1L. В противном случае –
возвращается 0L. Операцию запрещено применять в составе директив #define и #undef.
15 ПОСТРОЕНИЕ МАКРОСОВ В ЯЗЫКЕ С
Макрос представляет собой замену одной последовательности символов другой. Для осуществле-
ния замены необходимо предусмотреть соответствующее макроопределение. Простейший способ осу-
ществления замен в тексте программ предоставляет директива препроцессора #define. Однако рассмот-
ренные выше возможности этой директивы ограничены из-за фиксированной строки замещения. Боль-
шими возможностями обладает следующее построение строки замещения:
#define имя_макроса(список_параметров) строка_замещения
здесь список параметров – список идентификаторов, разделенных запятыми.
При определении макроса недопустимы пробелы между именем макроса и списком параметров.
Классическим примером макроса может служить определение в виде макроса операции определе-
ния абсолютного значения числа. Если в начале программы определить макрос
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »
