本文共 578 字,大约阅读时间需要 1 分钟。
TRANS_PROCESS是全局变量
bool trans_carrier_frame(char retry, byte timeout, byte *frame, int length, byte* outbuff,int* outlen)
{ TRANS_PROCESS.outbuff =outbuff; byte BUFFER_FRAME[2] ={0,1}; memcpy(TRANS_PROCESS.outbuff,BUFFER_FRAME,2); if(TRANS_PROCESS.valid ==0x02) { *outlen =TRANS_PROCESS.length; memset(&TRANS_PROCESS,0,sizeof(struct trans_process));//注意 注意 outbuff 的值不为空, 而是 outbuff [0]=0, outbuff [1]=1;
//因为一开始 TRANS_PROCESS.outbuff指向了outbuff,然后两者都指向了同一空间,此空间里面的值赋值0,1后。
//经过memset TRANS_PROCESS,只是TRANS_PROCESS.outbuff指向了空,是野指针了,但是outbuff指向没变。
return true; } MSleep(1000);}
转载地址:http://ouexi.baihongyu.com/