我正在运行一个使用无限循环的模拟。 TRUE定义为1.在循环内部,每个包含“state”的调用都是一个返回void的函数。如何在C中退出无限(; TRUE;)?
/* main sim loop */
for (i = 0, num_insn = 0; TRUE; i++) {
writeback(state, &num_insn);
execute(state);
if (!(state->fetch_lock)) {
decode(state);
fetch(state);
}
}
我想最终从回写函数中的“if”语句内部退出循环。这是如何完成的?我试图使用“break”,但编译时出现错误。
编辑:里面的回写功能
if ((state->fetch_lock == TRUE)&&(fu_int__done == TRUE)&&(fu_fp_add_done ==TRUE)&&(fu_fp_mult_done == TRUE)&&(fu_fp_div_done == TRUE)) {
break;
}
这给编译错误“错误:break语句不是循环或交换机中”
什么是你的错误信息? – EOF
请将上面的代码放在里面 –
编辑。抱歉。 – Kal