В общем случае директива – это указание компилятору языка С++ выполнить то или иное действие в момент компиляции программы. Существует строго определенный набор возможных директив, который включает в себя следующие определения:
Директива - это указание компилятору для выполнения действия при компиляции. Есть несколько наборов директив:
#define - заменяет себя на значение
Пример:
#define SCM SendClientMessage
#if, #else, #elseif, #endif
Нужны для настройки скрипта и исключения некоторых частей кода.
Пример:
#define test
public OnPlayerConnect(playerid)
{
#if defined test
printf("test существует!");
#else
printf("test не существует!");
#endif
}
#include
Подключает файлы к скрипту,кстати на самом деле можно использовать любые расширения,но по умолчанию стоит .ini .
Пример:
#include <a_samp>//подключили a_samp.ini
#error
При компиляции выдает ошибку.
Пример:
#if !defined test // если test не существует
#error test netu! //Выведет ошибку"error:test netu"
#endif
#undef
Удалит дефайн(директиву).
Пример:
#define test//создаем
#undef test//удаляем
#tryinclude
То же самое,что и #include,но если файла не существует,то просто пропускает его и не выводит ошибку.
Пример:
#tryinclude <test>
#emit
Для того,чтобы найти информацию по этой функции пришлось покопаться по англоязычным форумам SA:MP.Данная функция обращается к компилятору с помощью языка Assambler.
Пример:
new test1 = 1,test2 = 2, test3 = 3;
public OnGameModeInit()
{
#emit LOAD test1
#emit LOAD.test2
#emit LOAD.test3
print("__________________")
return 1;
}
(Автор:Armn)
#pragma unused
Отключает предупреждение,о неиспользуемой переменной.
Пример:
new perem;
#pragma unused perem;
#pragma dynamic
Увеличение памяти скрипта.
Пример:
#pragma dynamic 10000
#endinput
Делает следующий код комментарием.
Пример:
//Ваш код
#endinput
Это не код
#assert
Лимитирует значение.
Пример:
#define def 21
#assert => 10
Авторы описаний не известны.
Директива - это указание компилятору для выполнения действия при компиляции. Есть несколько наборов директив:
#define - заменяет себя на значение
Пример:
#define SCM SendClientMessage
#if, #else, #elseif, #endif
Нужны для настройки скрипта и исключения некоторых частей кода.
Пример:
#define test
public OnPlayerConnect(playerid)
{
#if defined test
printf("test существует!");
#else
printf("test не существует!");
#endif
}
#include
Подключает файлы к скрипту,кстати на самом деле можно использовать любые расширения,но по умолчанию стоит .ini .
Пример:
#include <a_samp>//подключили a_samp.ini
#error
При компиляции выдает ошибку.
Пример:
#if !defined test // если test не существует
#error test netu! //Выведет ошибку"error:test netu"
#endif
#undef
Удалит дефайн(директиву).
Пример:
#define test//создаем
#undef test//удаляем
#tryinclude
То же самое,что и #include,но если файла не существует,то просто пропускает его и не выводит ошибку.
Пример:
#tryinclude <test>
#emit
Для того,чтобы найти информацию по этой функции пришлось покопаться по англоязычным форумам SA:MP.Данная функция обращается к компилятору с помощью языка Assambler.
Пример:
new test1 = 1,test2 = 2, test3 = 3;
public OnGameModeInit()
{
#emit LOAD test1
#emit LOAD.test2
#emit LOAD.test3
print("__________________")
return 1;
}
(Автор:Armn)
#pragma unused
Отключает предупреждение,о неиспользуемой переменной.
Пример:
new perem;
#pragma unused perem;
#pragma dynamic
Увеличение памяти скрипта.
Пример:
#pragma dynamic 10000
#endinput
Делает следующий код комментарием.
Пример:
//Ваш код
#endinput
Это не код
#assert
Лимитирует значение.
Пример:
#define def 21
#assert => 10
Авторы описаний не известны.
Последнее редактирование модератором: