-- Lua 模拟类C++的函数指针,指令分发 --静态
local OpcodeHandler = {}
-- 处理逻辑 --
function OpcodeHandler:HandleFunctionA()
print("A")
end
function OpcodeHandler:HandleFunctionB()
print("B")
end
function OpcodeHandler:HandleFunctionC()
print("C")
end
function OpcodeHandler:HandleFunctionD()
print("D")
end
function OpcodeHandler:HandleFunctionE()
print("E")
end
-- 常量指令集 --
OpcodeHandler.Opcodes =
{
{name = "CMSG_HANDLE_FUNCTION_A", func = OpcodeHandler.HandleFunctionA},--0x0001
{name = "CMSG_HANDLE_FUNCTION_B", func = OpcodeHandler.HandleFunctionB},--0x0002
{name = "CMSG_HANDLE_FUNCTION_C", func = OpcodeHandler.HandleFunctionC},--0x0003
{name = "CMSG_HANDLE_FUNCTION_D", func = OpcodeHandler.HandleFunctionD},--0x0004
{name = "CMSG_HANDLE_FUNCTION_E", func = OpcodeHandler.HandleFunctionE},--0x0005
}
function OpcodeHandler:PExcuteOpcode(Opcode)
local OpcodeTable = self.Opcodes[Opcode].func()
end
function onRecvMsg()
for i = 1, 5 do
OpcodeHandler:PExcuteOpcode(i)
end
end
onRecvMsg();
Lua 模拟类C++ 指针函数,指令分发
猜你喜欢
转载自blog.csdn.net/qq_29094161/article/details/76229452
今日推荐
周排行