项目中某个函数由于使用了switch-case语句,当代码增加到某个程度的时候,已进入该函数,则程序跑飞。改成if结构,则问题解决。
switch(packType)
{
case CMD_RANDOM_NUMBER:
return CmdRandomResponse(appData);
break;
case CMD_MUTEX_AUTH:
//return CmdMutexAuthResponse(appData);
break;
case CMD_OPEN_DOOR:
return CmdOpenDoorResponse(appData);
break;
case CMD_UPDATE_TIME:
//return CmdUpdateTimeResponse(appData);
break;
case CMD_READ_TIME:
//return CmdReadTimeResponse(appData);
break;
case CMD_WRITE_SN:
return CmdWriteSnResponse(appData);
break;
case CMD_WRITE_KEY:
return CmdWriteKeyResponse(appData);
break;
case CMD_DEVICE_BOND:
return CmdDeviceBondResponse(appData);
break;
case CMD_DEVICE_UNBOND:
//return CmdDeviceUnbondResponse(appData);
break;
case CMD_READ_BOND_INFO:
//return CmdReadBondInfoResponse(appData);
break;
case CMD_READ_VERSION:
//return CmdReadVersionResponse(appData);
break;
default:
break;
}
if(packType == CMD_RANDOM_NUMBER)
{
return CmdRandomResponse(appData);
}
else if(packType == CMD_MUTEX_AUTH)
{
return CmdMutexAuthResponse(appData);
}
else if(packType == CMD_OPEN_DOOR)
{
return CmdOpenDoorResponse(appData);
}
else if(packType == CMD_UPDATE_TIME)
{
return CmdUpdateTimeResponse(appData);
}
else if(packType == CMD_READ_TIME)
{
return CmdReadTimeResponse(appData);
}
else if(packType == CMD_WRITE_SN)
{
return CmdWriteSnResponse(appData);
}
else if(packType == CMD_WRITE_KEY)
{
return CmdWriteKeyResponse(appData);
}
else if(packType == CMD_DEVICE_BOND)
{
return CmdDeviceBondResponse(appData);
}
else if(packType == CMD_DEVICE_UNBOND)
{
return CmdDeviceUnbondResponse(appData);
}
else if(packType == CMD_READ_BOND_INFO)
{
return CmdReadBondInfoResponse(appData);
}
else if(packType == CMD_READ_VERSION)
{
return CmdReadVersionResponse(appData);
}
else
{
return CMD_ERROR;
}