Встроенные макросы
 
Препроцессорные символы, встроенные в язык.

Описание

Встроенные макросы определены для компилятора. Некоторые могут использоваться в качестве определения нужных нам опций. Другие же передают информацию о состоянии компилятора, или об отдельных моментах в процессе компиляции.

Информация о платформе
Макросы, которые предоставляют информацию о системе.
Информация о версии
Макросы, которые предоставляют информацию о версии компилятора FBC.
Переключатели командной строки
Макросы, которые предоставляют информацию с переключателями командной строки, используемых с FBC.
Информация о среде
Макросы, которые предоставляют информацию о среде операционной системы.
Специфическая контекстная информация
Макросы, которые предоставляют контекстную информацию о процессе компиляции.

Информация о платформе
__FB_WIN32__
Определяет, если компиляция для Windows.
__FB_LINUX__
Определяет, если компиляция для Linux.
__FB_DOS__
Определяет, если компиляция для DOS.
__FB_CYGWIN__
Определяет, если компиляция для  Cygwin.
__FB_FREEBSD__
Определяет, если компиляция для FreeBSD.
__FB_NETBSD__
Определяет, если компиляция для NetBSD.
__FB_OPENBSD__
Определяет, если компиляция для OpenBSD.
__FB_DARWIN__
Определяет, если компиляция для Darwin.
__FB_XBOX__
Определяет, если компиляция для Xbox.
__FB_BIGENDIAN__
Определяет , если при компиляции в системе, используется порядок байт big-endian
__Fb_Pcos__
Определяет, если компиляции для общей PC OS (e.g. DOS, Windows, OS/2).
__Fb_Unix__
Определяет, если компиляция для Unix-like OS.

Информация о версии
__FB_VERSION__
Определяет строковый литерал версии компилятора.
__FB_VER_MAJOR__
Определяет числовой литерал номера основной версии компилятора.
__FB_VER_MINOR__
Определяет числовой литерал номера дополнительной версии компилятора.
__FB_VER_PATCH__
Определяет числовой литерал номера патча компилятора.
__FB_MIN_VERSION__
Макрос для проверки минимальной версии компилятора.
__FB_BUILD_DATE__
Определяет строковый литерал даты сборки компилятора.
__FB_SIGNATURE__
Определяет строковый литерал сигнатуры компилятора.

Переключатели командной строки
__Fb_Backend__
Определяет бэкенд либо "gas" либо "gcc" в зависимости -gen.
__Fb_Gcc__
True (-1)  если -gen gcc используется, false (0) в других случаях.
__FB_MAIN__
Определяет, если компилируется модуль с точкой входа (Main)
__FB_DEBUG__
True (-1) если опция "-g" используется, false (0) в любом другом случае.
__FB_ERR__
Ноль (0) если опции "-e", "-ex" или "-exx" не используются
__Fb_Fpmode__
Определяет "fast" если компилируется с быстрой SSE математикой, "precise" в других случаях
__Fb_Fpu__
Определяет "sse" , если компилируется с режимом SSE floating point , или "x87" для нормального режима x87 floating-point.
__FB_LANG__
Определяет строковой литерал режима совместимости диалекта "-lang" , который используется
__FB_MT__
True (-1) если режим многопоточности "-mt" используется, false (0) в любом другом случае.
__FB_OUT_DLL__
True (-1) если модуль компилируется и линкуется в библиотеку DLL , false (0) в любом другом случае.
__FB_OUT_EXE__
True (-1) если модуль компилируется и линкуется в исполняемый файл , false (0) в любом другом случае.
__FB_OUT_LIB__
True (-1) если модуль компилируется и линкуется в статическую библиотеку , false (0) в любом другом случае.
__FB_OUT_OBJ__
True (-1) если модуль компилируется только в объектный файл, zero (0) в любом другом случае.
__FB_SSE__
Определяет , если компилируется с режимом SSE floating point.
__Fb_Vectorize__
Определяет уровень автоматической векторизации (0 to 2)
Информация о среде
__FB_ARGC__
Определяет кол-во аргументов командной строки, передаваемых программе.
__FB_ARGV__
Определяет двойной указатель ZString Ptr Ptr на аргументы переданные программе в командной строке
__DATE__
Определяет строковой литерал  даты компиляции в формате "mm-dd-yyyy"
__Date_Iso__
Определяет строковой литерал  даты компиляции в формате  "yyyy-mm-dd"
__TIME__
Определяет строковой литерал времени компиляции
__PATH__
Определяет строковой литерал абсолютного пути для модуля.

Специфическая контекстная информация
__FILE__ and __FILE_NQ__
Определяет имя модуля.
__FUNCTION__ and __FUNCTION_NQ__
Определяет имя процедуры, где указан макрос.
__LINE__
Определяет числовой литерал номера линии, где указан макрос.
__FB_OPTION_BYVAL__
True (-1) , если задана опция Option Byval, ноль (0) в любом другом случае.
__FB_OPTION_DYNAMIC__
True (-1) , если задана опция Option Dynamic, ноль (0) в любом другом случае..
__FB_OPTION_ESCAPE__
True (-1) , если задана опция Option Escape, ноль (0) в любом другом случае..
__Fb_Option_Gosub__
True (-1) если задана опция Option Gosub, ноль (0) в любом другом случае..
__FB_OPTION_EXPLICIT__
True (-1) если задана опция Option Explicit, ноль (0) в любом другом случае..
__FB_OPTION_PRIVATE__
True (-1) , если задана опция Option Private , ноль (0) в любом другом случае..