#define

来源:互联网 发布:淘宝 收货时间 编辑:程序博客网 时间:2024/05/10 10:53

以下的代码在C++中用T就很容易解决了,但在c中只能繁琐地每条展开,幸好我们还有#define

#define NETCGI_MSG_SET_NVR(msgtype,msgcgi){\msgcgi *pmsgcgi = (msgcgi *)input_param;\if(NULL == pmsgcgi)\{\nRetCode = NET_CGI_INVALID_PARAM;\break;\}\tCgiCtrlMsg.nMsgType = msgtype;\tCgiCtrlMsg.nDataLen = sizeof(msgcgi);\tCgiCtrlMsg.nSubType = 0;\shm_write((char *)pmsgcgi, CGI_DATA_OFFSET, sizeof(msgcgi));\}//不同的msg_type对应不同的sturct,但不同的msg_type对应的操作是相同的int netcgi_handle_request(int msg_type,void *input_param, void *out_param){    ......    switch (msg_type)    {case NETCGI_MSG_SET_PTZCMD:                case NETCGI_MSG_SET_ALIAS:{NETCGI_MSG_SET(msg_type,NETCGI_DATA_PTZCMD);}break;                ......    }    ......    return 0;}


 

0 0
原创粉丝点击