一、while循环条件判断
while (glb_ate_info->test_flow.tester_cmd != TESTER_TX_LDO_TRIM_DONE)
// 注意 != ,才为True
二、while循环,有些编译器会优化
案例一:下面代码,查看汇编,glb_ate_info->test_flow.tester_cmd不会一直去内存取值
while (glb_ate_info->test_flow.tester_cmd != TESTER_TX_LDO_TRIM_DONE);
改措施,会去内存取值
while (glb_ate_info->test_flow.tester_cmd != TESTER_TX_LDO_TRIM_DONE && ATE_DEBUG){
ate_dly_ms(2);
}
示例一:不加sleep,导致SubStructMsgInfo.size()运行一段时间为0
while (true)
{
ERROR_LOG << "SubStructMsgInfo: " << SubStructMsgInfo.size() << std::endl;
if (!SubStructMsgInfo.empty())
{
}
else
{
sleep(1);
}
}