supposto mi iscrivo molti nomi di funzioni diverse in Lua per la stessa funzione in C. Ora, ogni volta che la mia funzione C si chiama, c'è un modo per determinare quale funzione nome è stato invocato?Prendi il comando di lua quando una funzione c è chiamata
ad esempio:
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);
}
Allora, come faccio ad avere il nome di quale funzione sempre ha chiamato?
Perché vuoi tutte le funzioni di mappare per la stessa routine? –
Vorrei poter chiamare una funzione che ha anche un puntatore, ma dato il sistema attuale, posso solo chiamare le funzioni statiche/globali. –