Supuse Registrar muchos nombres de funciones diferentes en Lua para la misma función en C. Ahora, cada vez que se llama a mi función C, ¿hay alguna manera de determinar qué nombre de función se invocó?Obtener el comando lua cuando se llama a una función c
por ejemplo:
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);
}
Entonces, ¿cómo puedo obtener el nombre de función de lo que cada vez lo llamó?
¿Por qué quiere que todas las funciones se correspondan con la misma rutina? –
Me gustaría poder llamar a una función que también tiene un puntero, pero dado el sistema actual, solo puedo llamar a funciones estáticas/globales. –