Конспект лекций Часть II одесса, 2003
Директивы условной компиляции
Download 0.65 Mb. Pdf ko'rish
|
atki188 c konspekt 2
Директивы условной компиляции
Директивы условной компиляции #if, #ifdef и #ifndef применяются для того, чтобы исключить компиляцию отдельных частей программы. Это бывает полезно при отладке или, например, при поддержке нескольких вер- сий программы для различных платформ. Формат директивы #if: Одесский колледж компьютерных технологий “СЕРВЕР” 31 #if константное_выражение … [ #elif константное_выражение …] [#else …] #endif Количество директив #elif – произвольное. Исключаемые блоки кода могут содержать как описания, так и исполняемые операторы. Пример условного включения различных версий заголовочного файла: #if VERSION == 1 #define INCFILE "vers1.h" #elif VERSION == 2 #define INCFILE "vers2.h" /* и так далее */ #else #define INCFILE "versN.h" #endif #include INCFILE В константных выражениях может использоваться проверка, определена ли константа, с помощью defined(имя_константы). Другое назначение директивы – временно закомментировать фрагменты ко- да, например: #if 0 int i, j; double x,y; #endif Поскольку допускается вложенность директив, такой способ весьма удобен. Наиболее часто в программах используются директивы #ifdef и #ifndef, по- зволяющие управлять компиляцией в зависимости от того, определён ли с помощью директивы #define указанный в них символ (хотя бы как пустая строка, например, #define 32_BIT_SUPPORT): #ifdef символ //Расположенный ниже код компилируется, если символ определён #ifndef символ //Расположенный ниже код компилируется, если символ не определён Действие этих директив распространяется до первого #elif, #else или #endif. Директива #ifndef часто применяется для того, чтобы обеспечить включение заголовочного файла только один раз: #ifndef HEADER_INCLUDED #include "myheader.h" #define HEADER_INCLUDED #endif |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling