将函数作为参数

保存lua函数:

int callback=luaL_ref(L,LUA_REGISTRYINDEX);

调用:

lua_settop(L,0); 
lua_rawgeti(L,LUA_REGISTRYINDEX,callback); 
if(!lua_isfunction(L,-1)){ 
    lua_pop(L,1); 
    return; 
} 
lua_pushlightuserdata(L,self);//传入参数
lua_pcall(L, 1, 0, 0);//调用