Препроцессор
 
Команды, которые контролируют препроцессор.

Описание

Команды препроцессора отправляются компилятору для контроля того, что компилируется и как. Они могут быть использованы, чтобы выбрать при компиляции определенные участки кода для кросс-платформенной совместимости, включают заголовки или другие исходные файлы, определяют небольшие линейные функции называемые макросами, или изменяют то, как компилятор обрабатывает переменные.

Условная компиляция
Команды, которые допускают ответвления в компиляции на основе условий.
Текстовая замена
Команды, которые создают макросы текстовой замены.
Файловые директивы
Команды, которые указывают компилятору, как другие файлы относятся к исходному файлу.
Директивы управления
Команды, которые устанавливают опции компиляции, управляют компиляцией и сообщают информацию времени компиляции.
Метакоманды
Команды, которые хранятся для обратной совместимости.

Условная компиляция
#if
Компилирует следующий блок кода на основе условия.
#ifdef
Компилирует следующий блок кода, если символ определен.
#ifndef
Компилирует следующий блок кода, если символ не определен.
#elseif
Компилирует следующий блок кода, если условие истинно, а предыдущие условия были ложными.
#else
Компилирует следующий блок кода, если предыдущие условия были ложными.
#endif
Показывает конец блока кода.
defined
Возвращает "-1" если символ определен, иначе "0".

Текстовая замена
#define
Создает однострочный макрос текстовой замены.
#macro and #endmacro
Создает многострочный макрос текстовой замены.
#undef
Отменяет определение символа.
# Preprocessor Stringize
Преобразовывает текст в строковый литерал.
## Preprocessor Concatenate
Объединяет два фрагмента текста.
! Escaped String Literal
Устанавливаемый строковый литерал указывает, что после него строки должны быть обработаны для управляющих последовательностей.
$ Non-Escaped String Literal
Устанавливаемый строковый литерал указывает, что после него строки не должны быть обработаны для управляющих последовательностей.

Файловые директивы
#include
Вставляет текст из файла.
#inclib
Включает библиотеку в процессе линковки.
#libpath
Включает путь для поиска библиотек в процессе линковки.

Директивы управления
#pragma
Устанавливает опции компиляции
#lang
Устанавливает диалект для исходника.
#print
Выводит сообщения в стандартный вывод при компиляции.
#error
Выводит сообщения в стандартный вывод и останавливает компиляцию.
#Assert
Останавливает компиляцию с сообщением об ошибке, если данное условие является ложным.
#line
Устанавливает текущий номер строки и имя файла.

Метакоманды
'$Include
Альтернатива #include.
'$Dynamic
Альтернатива Option Dynamic
'$Static
Альтернатива Option Static
'$Lang
Альтернатива #lang