一份C语言消息处理的模板
摘要:关于一份C语言消息处理的模板。
步骤/方法
- 01
阅读代码时提取出来的,是一个冷门的东西,也记不清从哪下的了,贴代码吧,觉得封装的还成: //msg.h #ifndef __MSG_H__ struct CMD_HANDLER_ENTRY { void (*handler)(int,char**); int args;
- 02
char *name; char *help; }; #define CMD_ENTRY(NAME,ARGC,HELP) { do_##NAME, ARGC, #NAME, HELP } #define CMD_END {0,0,0} #define CMDHANDLER(CMD) void do_##CMD(int argc, char** argv) #endif //msg.cpp
- 03
#include "msg.h" // // Command table // CMD_HANDLER_ENTRY CommandTable[] = {CMD_END};
- 04
可以通过CMDHANDLER来封装函数,展开后就成了: void do_##CMD(int argc, char** argv) 这种形式,也就是 do_func(int argc,char **argv) 声明时可以用这个宏生命,定义时也可以用这个定义
赞 (0)