Half-Life и Adrenaline Gamer форум
http://aghl.ru/forum/

[TUT] Pawn, константы, определенные препроцессором
http://aghl.ru/forum/viewtopic.php?f=39&t=2120
Страница 1 из 1

Автор:  KORD_12.7 [ 07 апр 2015, 09:01 ]
Заголовок сообщения:  [TUT] Pawn, константы, определенные препроцессором

PAWN, константы, определенные препроцессором
Навеяно постом by KliPPy отсюда: (http://forums.alliedmods.net/showthread.php?t=252477)

Препроцессор PAWN самостоятельно определяет несколько полезных констант:
    __DATE__ - дата компиляции,
    __TIME__ - время компиляции,
    cellbits - размер ячейки в битах,
    cellmax - максимальное значение, которое может храниться в ячейке,
    cellmin - минимальное значение, которое может храниться в ячейке,
    __Pawn - версия PAWN в целочисленном значении,
    debug - уровень дебага.

Также, начиная с версии AMXX 1.8.3, были добавлены еще три константы:
    __LINE__ - номер текущей строки исходного текста плагина,
    __BINARY_PATH__ - путь к скомпилированному файлу плагина,
    __BINARY_NAME__ - имя скомпилированного файла плагина.

Если эти константы встречаются в тексте скрита, то заменяются на соответствующие строки или числа. Плагин ниже выводит значения предопределенных препроцессором констант в консоль сервера:
Код:
#include <amxmodx>

public plugin_init()
{
   server_print("Constants:");
   server_print("__DATE__: %s", __DATE__);
   server_print("__TIME__: %s", __TIME__);
   server_print("cellbits: %d", cellbits);
   server_print("cellmax: %d", cellmax);
   server_print("cellmin: %d", cellmin);
   server_print("__Pawn: %d", __Pawn);
   server_print("debug: %d", debug);
   
   #if AMXX_VERSION_NUM > 182
   
   server_print("__LINE__: %d", __LINE__);
   server_print("__BINARY_PATH__: %s", __BINARY_PATH__);
   server_print("__BINARY_NAME__: %s", __BINARY_NAME__);
   
   #endif
}

Результат работы плагина:
Вложение:
pawn.PNG
pawn.PNG [ 4.29 КБ | Просмотров: 5656 ]

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/