一份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)

声明时可以用这个宏生命,定义时也可以用这个定义

 

OVER

转载于:https://www.cnblogs.com/shiweifu/archive/2010/08/15/1799886.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值