是否有任何工具可用于将带有循环的C代码(while,do-while,for)转换为带有goto语句的C代码而不是循环语句?
我试过Clang。我将代码更改为IR并将其转换回来,但代码完全不同(更多行,遵循SSA格式,...)虽然在逻辑上意义相同。
如果结果代码看起来与原始源代码更相似,那会更好。如果没有,我想了解其他不同的选择。
答案 0 :(得分:3)
它被称为编译器。它不仅会将代码中所有那些整洁有序的循环结构转换为跳转指令,而且还可以使原始代码保持完全不变且易于维护。
特别增加的好处:编译器有加快代码速度的技巧,因此它比你刚刚将C转换为汇编程序的速度更快。 < /斯纳克>