怎么用回调函数完成字符串命令的解析

如何用回调函数完成字符串命令的解析
首先呢 祝大家新年快乐~~~

我要做一个简单的网络游戏,有各种各样的命令。但是我不想这么解析命令:
C/C++ code

if(A命令){...}
else if(B命令){....}
else if(...){...}



比如 服务器向客户端发出hello 123命令 然后客户端就能调用void hello(int num)的代码 怎么用回调函数完成这个目的?

------解决方案--------------------
你这是客户端和服务器,不太适用回调吧?
------解决方案--------------------
Switch..case
------解决方案--------------------
void hello(int num)放入dll,客户端根据hello 123动态加载dll,GetProcAddress(hello)
------解决方案--------------------



这没满足楼主需求吧


楼主是要客户端回调服务单



探讨
void hello(int num)放入dll,客户端根据hello 123动态加载dll,GetProcAddress(hello)

------解决方案--------------------
用一个固定的函数模式:VOID foo(PVOID param)之类的。
typedef VOID (*CALL_FUNC)(PVOID param);
然后就可以开个数组 CALL_FUNC func[N];
你可以用一个string table一一对应这些函数,用(func[i])(param)调用它们,
或者函数较多就开个hash。
------解决方案--------------------
用哈希表,将命令与处理函数地址作为一个元组,收到命令后,直接查找哈希表,调用处理函数处理参数。
------解决方案--------------------
7楼方法不错