Разделы

3.4. Типы данных

В s4g.h можно переопределить стандартные поддерживаемые типы. По умолчанию они:

#define s4g_int long
#define s4g_uint unsigned long
#define s4g_float float
#define s4g_bool short int
#define s4g_pdata void*

Виртуальная машина s4g поддерживает вызов C(++) функций, то есть возможность экспортировать в скриптовую систему функции из хост программы для исполнения на стороне скриптов. Однако эти функции должны соответствовать следующему типу:

typedef int(*s4g_c_function) (s4g_main* vm);

Функции данного типа принимают на вход один единственный аргумент - это объект скриптововй системы, виртуальная машина, которая вызвала данную функцию. В этой вызванной функции можно манипулировать скриптовой системой посредством API функций.

Если вызванная C(++) функция возвращает значение меньше нуля, то значит, произошла ошибка и машина остановит выполнение кода, все остальные значения (>0) не имеют. смысла