Lua'da çok farklı işlev adlarını C ile aynı işleve kaydettiğimi varsayalım. Şimdi, her C işlevim çağrıldığında, hangi işlev adının çağrıldığını belirlemenin bir yolu var mı? örneğinBir c işlevi çağrıldığında lua komutunu alın
:
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);
}
Peki şimdiye kadar işlev O'na ne adını alabilirim?
Neden tüm işlevlerin aynı rutine eşlenmesini istiyorsunuz? –
Bu işaretçiye sahip olan bir işlevi çağırmak istiyorum, ancak geçerli sistemde, yalnızca statik/global işlevleri arayabilirim. –