【发布时间】:2012-09-13 21:43:50
【问题描述】:
我想了解 C 中的 switch() case: 语句如何
由编译器翻译成汇编操作码。
具体来说,我有兴趣了解其中的区别
带有一系列if then else 分支。
性能比较是主要话题。
关于词汇的几句话: 我熟悉汇编程序的主要概念,很久以前就为更简单的系统编写过汇编程序,但现在肯定对 x86 汇编程序语义一无所知。 所以直接汇编输出将没有用。 更喜欢伪代码。
【问题讨论】:
-
写点东西然后在ollydbg中打开,这样才能真正理解它。
-
这里有很多很棒的答案。很难选择一个......
-
我不一定同意对这个问题施加的“重复”评论。虽然这两个问题确实有一些共同点,但前一个问题更广泛(为什么使用 switch/case ?),因此可以在许多问题上得到答案,例如更简洁的代码、更易于阅读、维护等。我的问题专门针对编译器的汇编程序翻译,以及对性能的预期影响。一个更精确的范围,在这里得到了正确的回答。
标签: c performance switch-statement