一份C语言消息处理的模板

作者:落知秋 | 创建时间: 2023-03-24
摘要:关于一份C语言消息处理的模板。...
一份C语言消息处理的模板

步骤/方法

阅读代码时提取出来的,是一个冷门的东西,也记不清从哪下的了,贴代码吧,觉得封装的还成: //msg.h #ifndef __MSG_H__ struct CMD_HANDLER_ENTRY { void (*handler)(int,char**); int args;

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

#include "msg.h" // // Command table // CMD_HANDLER_ENTRY CommandTable[] = {CMD_END};

可以通过CMDHANDLER来封装函数,展开后就成了: void do_##CMD(int argc, char** argv) 这种形式,也就是 do_func(int argc,char **argv) 声明时可以用这个宏生命,定义时也可以用这个定义

点击展开全文

更多推荐