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

Содержимое удалено Содержимое добавлено
мНет описания правки
Нет описания правки
Строка 1:
[[w:Препроцессор|Препроцессор]] входит в любой [[w:компилятор|компилятор]] программ на [[w:Си++|Си++]] и любую [[w:среда разработки|среду разработки]], рассчитаную на этот язык. Препроцессор обрабатывает [[w:исходный код|исходный код]] программ до их компиляции. '''Препроцессорные команды''', или '''директивы''', управляют работой препроцессора.
Практически в любую [[среда разработки|среду разработки]] программ на [[С++]] или [[компилятор]] языка входит такой компонент, как [[препроцессор]].
Назначение препроцессора - это обработка исходного текста программ до её компиляции. Для управления этим компонентом и существуют так называемы препроцессорные директивы или, проще говоря, '''препроцессорные команды'''.
 
Таких команд немного, они все начинаются со знака решётки (<code>#</code>) и должны быть в начале строки исходного кода:
Каждая такая команда обязательно начинается со знака '#'. Всего таких команд немного:
* '''#;<code>[[#Директива define|#define]]''' - </code>:эта директива предусматривает определение [[w:макрос|макросов]] или препроцессорных [[идентификатор|идентификаторов]], простейшее применение это замены в тексте программы
* '''#;<code>[[#Директива include|#include]]''' - </code>:позволяет включать текст других файлов в текст вашей программы.
* '''#;<code>[[#Директива undef|#undef]]''' - </code>:отменяет действие директивы #[[#Директива define|#define]]
* '''#;<code>[[#Условные директивы #if]]''', -#ifdef, #else, #endif, #elif|#if]]</code>:организация условной обработки директив
* '''#;<code>[[#Условные директивы #if, #ifdef]]''', #else, -#endif, #elif|#ifdef]]</code>:организация условной обработки директив
* '''#;<code>[[else]]'''#Условные директивы -#if, #ifdef, #else, #endif, #elif|#else]]</code>:организация условной обработки директив
* '''#;<code>[[endif]]'''#Условные директивы -#if, #ifdef, #else, #endif, #elif|#endif]]</code>:организация условной обработки директив
* '''#;<code>[[elif]]'''#Условные директивы -#if, #ifdef, #else, #endif, #elif|#elif]]</code>:организация условной обработки директив
* '''#;<code>[[#Директива line|#line]]''' - </code>:управление нумерацией строк в тексте программы
* '''#;<code>[[#Директива error|#error]]''' - </code>:задает текст диагностического сообщения, выводящиеся при наличии ошибок
* '''#;<code>[[#Директива pragma|#pragma]]''' - </code>:зависит от среды разработки
* '''[[;<code>#]]'''</code>:нулевая, -или нулевая(пустая), директива, ничего не вызывает и всегдабездейственно игнорируетсяпропускается
 
===Директива #define===
Строка 37 ⟶ 36 :
 
====Предопределенные макроимена====
 
[[Категория:Программирование]]