04. switch跳转表简单分析

监视窗口可以输入变量名,可对其取地址,可将监视的对象拖到内存窗口查看。vs2019中也可输入函数求值,例如调用strlen和自定义的Add函数。

 

 

 

 

 

 

if - else分支排在前面的优先判断,预计经常发生的情况可以放在前面,提高命中率。

switch - case每个分支访问代价均等,效率相同 

 

 

 

  

switch语句会将跳转地址按顺序排在数组中,以传入的值为下标,取出数组里的数据,跳转到此地址执行代码,且有一条单独的ja xxxxxxxx语句跳转到default。如果case的数字从0开始且连续,则满足此理想情况。如果case里的值较大,则减去某个值修剪一下。如果case值有间隔但又不算太大,则将对应的“空隙”填充为default的跳转地址。

posted @ 2020-04-03 11:11  八转达人  阅读(929)  评论(0编辑  收藏  举报