Предполагается, что я регистрирую много разных имен функций в Lua для одной и той же функции в C. Теперь, каждый раз, когда вызывается моя функция C, существует ли способ определить, какое имя функции было вызвано?Получить команду lua при вызове функции c
, например:
int runCommand(lua_State *lua)
{
const char *name = // getFunctionName(lua) ? how would I do this part
for(int i = 0; i < functions.size; i++)
if(functions[i].name == name)
functions[i].Call()
}
int main()
{
...
lua_register(lua, "delay", runCommand);
lua_register(lua, "execute", runCommand);
lua_register(lua, "loadPlugin", runCommand);
lua_register(lua, "loadModule", runCommand);
lua_register(lua, "delay", runCommand);
}
Итак, как я могу получить имя того, что когда-либо функция называется это?
Почему вы хотите, чтобы все функции отображались в одной и той же рутине? –
Я хотел бы иметь возможность вызвать функцию, которая также имеет этот указатель, но с учетом текущей системы я могу только вызвать статические/глобальные функции. –