KozzPorno
Ученик
Почти все программы на языке С++ используют специальные команды для компилятора, которые называются директивами. В общем случае директива – это указание компилятору языка С++ выполнить то или иное действие в момент компиляции программы. Существует строго определенный набор возможных директив, который включает в себя следующие определения:
#define, #include, #if, #endif, #error, #else, #undef, #tryinclude, #endinput.
#define:
Эта директива заменяет себя на значение,удобно использовать для экономии памяти,например:
#include
Подключает файл в скрипт,можно использовать любое ТЕКСТОВОЕ расширение,по умолчанию идёт загрузка расширения .inc:
- расширение piru.
#if, #else, #elseif, #endif:
С их помощью можно исключить из компиляции участки не нужного вам кода или сделать настройку скрипта через #define и #if, #else:
#error:
Выдаёт ошибку при компиляции с указаным текстом.Удобно юзать при создании важной функции.
#undef:
Удаляет директиву,пример:
#define PAWNO-INFO//Задефайним
#undef PAWNO-INFO//Раздефайним(удалим директиву)
#tryinclude:
Так-же,как и #include,подгружает файл в скрипт,но если подгружаемый файл не существует,то директива просто просто пропустит этот файл,и не выведет ошибок,пример:
#endinput:
Игнорирует весь ниже написанный код,пример:
#define, #include, #if, #endif, #error, #else, #undef, #tryinclude, #endinput.
#define:
Эта директива заменяет себя на значение,удобно использовать для экономии памяти,например:
Код:
#define PAWNO_INFO 5
Подключает файл в скрипт,можно использовать любое ТЕКСТОВОЕ расширение,по умолчанию идёт загрузка расширения .inc:
Код:
#include <pawno-info.piru>
#if, #else, #elseif, #endif:
С их помощью можно исключить из компиляции участки не нужного вам кода или сделать настройку скрипта через #define и #if, #else:
Код:
#define PAWNO-INFO // дефайним
public OnPlayerConnect(playerid)
{
#if defined PAWNO-INFO//Если pawno-info задефайнен
printf("PAWNO-INFO.ru задефайнен!");
#else
printf("PAWNO-INFO.ru не задефайнен!");
#endif
}
Код:
//define PAWNO-INFO // Не будем дефайнить
public OnPlayerConnect(playerid)
{
#if !defined PAWNO-INFO//Если pawno-info задефайнен
printf("PAWNO-INFO.ru не задефайнен!");
#else
printf("PAWNO-INFO.ru задефайнен!");
#endif
}
Выдаёт ошибку при компиляции с указаным текстом.Удобно юзать при создании важной функции.
Код:
#if !defined pawno-info // если функция pawno-info не задефайнена
#error pawno-info netu! // выдаст 'pawno-info netu' при выполнении условия
#endif
Удаляет директиву,пример:
#define PAWNO-INFO//Задефайним
#undef PAWNO-INFO//Раздефайним(удалим директиву)
#tryinclude:
Так-же,как и #include,подгружает файл в скрипт,но если подгружаемый файл не существует,то директива просто просто пропустит этот файл,и не выведет ошибок,пример:
Код:
#tryinclude <PAWNO-INFO>//Если этого файла не существует,то директива пропустит его.
Игнорирует весь ниже написанный код,пример:
Код:
stock PAWNO-INFO() { Function(); }
#endinput
