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

标签 c loops goto

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

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

如果生成的代码看起来更像原始源代码,那就更好了。如果没有,我想知道其他不同的可用选项。

最佳答案

它叫做编译器。它不仅将代码中所有那些整齐有序的循环结构变成跳转指令,而且让原始代码保持完全不变且易于维护。

特别的额外好处:编译器有一些技巧可以加速您的代码,因此它的运行速度甚至比您天真地将 C 语言转换为汇编语言还要快。

关于c - 用于删除 C 代码中所有循环的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147963/

相关文章:

C语言-打印一些句子到文件

python - 在Python中动态循环json数据

java - 需要帮助编程战舰位置选择器/检查器

c - 我们什么时候使用 goto *expr;在C?

java - Java 中的 Goto 替代方案?

C 在ncurses中打印指定坐标的值

c - 为什么free不释放内存?

iphone - 花栗鼠物理学 : Velocity question

Java 为 ( x : y) execution

c - 使用 goto 跳过范围变量初始化不会产生所需的输出