用于删除C代码中所有循环的工具

时间:2010-11-10 18:55:19

标签: c loops goto

是否有任何工具可用于将带有循环的C代码(while,do-while,for)转换为带有goto语句的C代码而不是循环语句?

我试过Clang。我将代码更改为IR并将其转换回来,但代码完全不同(更多行,遵循SSA格式,...)虽然在逻辑上意义相同。

如果结果代码看起来与原始源代码更相似,那会更好。如果没有,我想了解其他不同的选择。

1 个答案:

答案 0 :(得分:3)

它被称为编译器。它不仅会将代码中所有那些整洁有序的循环结构转换为跳转指令,而且还可以使原始代码保持完全不变且易于维护。

特别增加的好处:编译器有加快代码速度的技巧,因此它比你刚刚将C转换为汇编程序的速度更快。 < /斯纳克>