【发布时间】:2011-12-05 13:48:15
【问题描述】:
为什么 gcc 编译器在创建汇编代码时将 while 循环转换为 do-while 结构?我知道任何while循环都可以重写为do-while,例如在c中
while (test) {
...
}
可以改写为
if ( !test ) goto skip;
do {
. . .
} while ( test );
skip:
【问题讨论】:
-
因为在汇编语言中没有
for或while循环。 -
如果要讲汇编,贴出编译器生成的汇编代码。