我正在编写一个生成C++代码的编译器,无法使用while/for
或任何其他普通循环语句,所以我将其转换为goto/if
和赋值/调用行,例如:
if (i<b) goto loop_959__again;
loop_959__end: ;
}
{
int inumber;
int i;
i=0;
inumber=3;
if (!(inumber<30)) goto loop_4482__end;
loop_4482__again:
float fnumber;
_A1__main__increase(__owner);
i++;
inumber++;
fnumber=3;
loop_4482__step_begin:
if (inumber<30) goto loop_4482__again;
loop_4482__end: ;
}
这真的很难看,但是GCC编译器能否像普通循环一样编译和优化上述代码?