Си++/Препроцессорные директивы: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Нет описания правки
 
мНет описания правки
Строка 3: Строка 3:


Каждая такая команда обязательно начинается со знака '#'. Всего таких команд немного:
Каждая такая команда обязательно начинается со знака '#'. Всего таких команд немного:
* '''#[[define]]''' - эта директива предусматривает определение [[макрос|макросов]] или препроцессорных идентификаторов, простейшее применение это замены в тексте программы
* '''#[[define]]''' - эта директива предусматривает определение [[макрос|макросов]] или препроцессорных [[идентификатор|идентификаторов]], простейшее применение это замены в тексте программы
* '''#[[include]]''' - позволяет включать включать текст других фаилов в текст вашей программы.
* '''#[[include]]''' - позволяет включать включать текст других фаилов в текст вашей программы.
* '''#[[undef]]''' - отменяет действие директивы #[[define]]
* '''#[[undef]]''' - отменяет действие директивы #[[define]]
Строка 22: Строка 22:
===Директива #undef===
===Директива #undef===


===Условные директивы #if, #ifdef,#else, #endif, #elif===
===Условные директивы #if, #ifdef, #else, #endif, #elif===

====Условная компиляция====
====Условная компиляция====



Версия от 10:43, 18 мая 2006

Практически в любую среду разработки программ на С++ или компилятор языка входит такой компонент, как препроцессор. Назначение препроцессора - это обработка исходного текста программ до её компиляции. Для управления этим компонентом и сущестуют так называемы препроцессорные директивы или, проще говоря, препроцессорные команды.

Каждая такая команда обязательно начинается со знака '#'. Всего таких команд немного:

  • #define - эта директива предусматривает определение макросов или препроцессорных идентификаторов, простейшее применение это замены в тексте программы
  • #include - позволяет включать включать текст других фаилов в текст вашей программы.
  • #undef - отменяет действие директивы #define
  • #if - организация условной обработки директив
  • #ifdef - организация условной обработки директив
  • #else - организация условной обработки директив
  • #endif - организация условной обработки директив
  • #elif - организация условной обработки директив
  • #line - управление нумерацией строк в тексте программы
  • #error - задает текст диагностического сообщения, выводящиеся при наличии ошибок
  • #pragma - зависит от среды разработки
  • # - нулевая(пустая) директива, ничего не вызывает и всегда игнорируется

Директива #define

Директива #include

Директива #undef

Условные директивы #if, #ifdef, #else, #endif, #elif

Условная компиляция

Директива #line

Директива #error

Директива #pragma

Замены в тексте

Макросы

Предопределенные макроименна