是否有任何工具可以将带有循环(while、do-while、for)的 C 代码转换为带有 goto 语句而不是循环语句的 C 代码?
我试过 Clang。我将代码更改为 IR 并将其转换回来,但代码完全不同(更多行,遵循 SSA 格式,..)虽然逻辑上含义相同。
如果生成的代码看起来更像原始源代码,那就更好了。如果没有,我想知道其他不同的可用选项。
最佳答案
它叫做编译器。它不仅将代码中所有那些整齐有序的循环结构变成跳转指令,而且让原始代码保持完全不变且易于维护。
特别的额外好处:编译器有一些技巧可以加速您的代码,因此它的运行速度甚至比您天真地将 C 语言转换为汇编语言还要快。 蛇鲨>
关于c - 用于删除 C 代码中所有循环的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147963/