职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1431|回复: 1

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

[复制链接]
爱车车 发表于 2012-2-15 16:53 | 显示全部楼层 |阅读模式
摘要:关于一份C语言消息处理的模板。
29752a9bec190ae2c9eaf4df.jpg
  阅读代码时提取出来的,是一个冷门的东西,也记不清从哪下的了,贴代码吧,觉得封装的还成:
  //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)
  声明时可以用这个宏生命,定义时也可以用这个定义
rjpxtuiguang 发表于 2012-7-11 20:09 | 显示全部楼层
来我这里看看吧,里面有很多的C++教程,都是课堂上录制下来的,专业的老师希望能够帮到你们,
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-16 15:51 , Processed in 0.147123 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表