Видите ли, есть определенные программы, которые необходимо предварительно обработать перед компиляцией. Директивы препроцессора используются, чтобы указать компилятору, какие программы необходимо предварительно обработать. Директивы препроцессора могут быть размещены в любом месте программы. Везде, где компилятор находит символ (решетка #), он узнает, что он должен быть предварительно обработан. Мы можем разместить эти директивы препроцессора в любом месте нашей программы.
Существует 3 основных типа директив препроцессора:
- Включение файла
- Условная компиляция
- Макросы
Давайте теперь узнаем о каждой из этих директив в деталях.
- Включение файла: когда компилятор получает эту директиву препроцессора, он включает файл в исходный код.
- Файл заголовка или стандартные файлы. Эти файлы содержат определения предопределенных функций ввода-вывода, операций со строками, математических операций и т. д. Для разных функций используются разные файлы заголовков. Например, для математических вычислений мы используем «math.h», для стандартных функций ввода-вывода — «iostream.h», для строковых операций — «string.h».
Синтаксис:
#include‹имя_файла›
здесь’‹’ и ‘›’ указывают файл, который нужно включить, а ‘file_name’ — это имя файла.
- Условная компиляция: если мы хотим скомпилировать только определенную часть программы, нам нужно поставить некоторые условия. В этом помогают директивы условной компиляции. Это можно сделать с помощью двух команд предварительной обработки ‘ifdef’ и ‘endif’.
Синтаксис:
ifdef имя_макроса
заявление1;
заявление2;
…
заявление N;
конец;
- Макросы. С помощью макросов мы обращаемся к фрагменту кода, которому дается определенное имя, чтобы заменить это имя фактическим фрагментом кода. Это происходит всякий раз, когда компилятор встречает имя макроса в программе и заменяет его фактическим кодом. Мы используем #define для использования макроса определения. Пример:
#include‹iostream›
# определить X 4
основной ()
{
для (я = 0; я ‹ X; я ++)
{ cout‹‹i‹‹“\n”; }
вернуть 0; }
Вывод:
0
1
2
3
Слово «X» в программе заменяется на 4 всякий раз, когда компилятор выполняет «X».
‘X’ -> Шаблон макроса
‘4’ -> Расширение макроса
Примечание. Нет необходимости использовать «;» в конце определения макроса.
Это все, что касается директив препроцессора
Спасибо, что прочитали эту статью. Обязательно хлопайте и рекомендуйте как можно больше, а также делитесь с друзьями. Это очень много значит для меня.
Чтобы узнать больше о программировании, подпишитесь на меня и CodeSharp, чтобы получать уведомления о новых сообщениях.