русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Директивы препроцессора

При каждом запуске компилятора сначала запускается препроцессор, который выполняет директивы начинающиеся с символа #. При выполнении этих команд создается временный файл исходного кода, с которым уже работает компилятор.

Директива #include

Строка
#include "имя файла"

Заменяет эту строку полным содержимым файла имя. файла. Если не указан путь то файл сначала ищется в директории исходного файла , затем в директории заданной в опциях компилятора(обычно директория Include).

Строка #include <имя файла>

Ищет файл только в директории заданной в опциях компилятора.

Директива #define

#define идентификатор строка символов

Заменяет все последующие вхождения идентификатора строкой символов. Пример:

#define A_NUMBER 100

int n=A_NUMBER;

n присвоится значение 100

#define можно применять также для определения макросов, например:

#define SWAP(a,b) temp=(a);(a)=(b);(b)=temp

Подробнее о #define (и в частности о макросах) будет отдельная статья.

Директива #undef

#undef идентификатор

Отменяет прероцессорное определение идентификатора.

Директивы #if #else #endif

#if выражение

.....

#endif

Проверяет истинно ли выражение и если истинно, то выполняет все последующие строки до директивы #endif.

Конструкция типа:

#if выражение

....

#else

...

#endif Проверяет выражение, если оно истинно то выполняются строки между #if и #else а если ложно то между #else и #endif.

Директивы #ifdef #ifndef

#ifdef идентификатор

.....

#endif

Проверяет определен ли идентификатор в препроцессоре в данный момент(директивой #define) и если определен, то выполняет все последующие строки до директивы #endif.

#ifndef идентификатор

.....

#endif

Наоборот, выполняет все последующие строки до директивы #endif если идентификатор не определен в препроцессоре в данный момент.

Директива #error

#error - сообщение об ошибке. Останавливает работу компилятора и выдает сообщение об ошибке. Например:

#ifndef smth_important

#error smth important isn't defined

#endif

Компилятор выдаст что-то типа:

Fatal F1003 file.cpp 2: Error directive: smth important isn't defined

*** 1 errors in Compile ***

Директива #line

Директива
#line константа "имя файла"Заставляет компилятор считать, что константа задает номер следующей строки исходного файла, и текущий входной файл именуется идентификатором. Если идентификатор отсутствует, то запомненное имя файла не изменяется.

Директива #pragma

#pragma - это директива препроцессора, которая реализует возможности компилятора. Эти особенности могут быть связанны с типом компилятора.Разные типы компиляторов могут поддерживать разные директивы. Общий вид директивы:

#pragma команда компилятора

Например:

#pragma message("сообщение") - просто выдает сообщение при компиляции.

Просмотров: 559


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.