iOS开发逆向之循环选择指针(下)
本文主要讲解Switch的汇编代码 Switch 1、假设switch语句的分支比较少时(例如3,少于4的时候没有意义),没有必要使用次结构,相当于if-else 2、各个分支常量的差值较大时,编译器会在效率还是内存进行取舍,这时编译器还是会编译成类似于if-else的结构 3、在分支比较多的时候,在编译的时候会生成一个表,不同的case通过跳转表的不同地址,每个地址占四个字节。 案例分析 首先作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS开发交流群:130595548,不管你是小白还是大牛都欢迎入驻 ,让我们一起进步,共同发展!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!) 1、当case有3个时 voidfunc(inta){switch(a){case1:printf("打坐");break;case2:printf("加红");break;case3:printf("加蓝");break;default:printf("啥也不干");break; } }intmain(intargc,char*argv[]){ ...