这篇文章主要介绍“c语言怎么实现switch反汇编”,在日常操作中,相信很多人在c语言怎么实现switch反汇编问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”c语言怎么实现switch反汇编”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在分支较多的时候,switch的效率比if高,在反汇编中我们即可看到效率高的原因1、当switch存在3个分支时
当去掉break的时候
可以看出,此时switch的反汇编代码与if语句无异。
当有四个if语句的时候就会生成大表。
步骤:1、将传进来的数先减去1,再进行比较。判断出该参数是否超过switch语句中最大常量还,即判断参数是直接进入default中还是进入cas免费云主机域名e中2、 若参数注意分支少于四个,则switch无意义,编译器会按if…else…语句进行反汇编
case后的常量的顺序不影响大表的生成将常量值的顺序打乱,观察反汇编代码正向代码
汇编代码
这里可以看到大表里面都是自己排好序了。将连续的10项中抹去1项或者2项,观察反汇编有无变化正向代码是这样的
这里可以看到有几个地址是一样的
可以发现是指向默认的地址。
就会生成小表
步骤:
1、将传进来的参数减去最小值,然后跟最大值相比,如果大于的话就跳到默认的地方,不然就用差值去查小表,然后查大表。编译器按照if…else…进行反汇编到此,关于“c语言怎么实现switch反汇编”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!
本文小编为大家详细介绍“v-show和v-if怎么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“v-show和v-if怎么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。我们都知道在vue中v-show与v-if的作用效果是…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。