高效的C编程之:Switch语句(下)

来源:本站
导读:目前正在解读《高效的C编程之:Switch语句(下)》的相关信息,《高效的C编程之:Switch语句(下)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《高效的C编程之:Switch语句(下)》的详细说明。
简介:编译器通常将C语言中的Switch语句编译一个查找表(Table Lookup)以便跳转到合适的入口处。(EEFOCUS)

编译后的代码如下所示。

ConditionStr2:

00008188E1A01000MOVr1,r0

>>>SWITCH#26if((unsigned)condition>=15)return0;

0000818CE351000FCMPr1,#0xf

000081903A000001BCC0x819c<SWITCH#27>

>>>SWITCH#26if((unsigned)condition>=15)return0;

00008194E3A00000MOVr0,#0

>>>SWITCH#30}

00008198E12FFF1EBXr14

>>>SWITCH#26if((unsigned)condition>=15)return0;

>>>SWITCH#27return

0000819CE28F005CADRr0,{pc}+0x64;#0x8200

000081A0E3A02003MOVr2,#3

000081A4E0200291MLAr0,r1,r2,r0

000081A8EAFFFFFAB0x8198<SWITCH#30>

>>>SWITCH#33{

从两段汇编代码的分析可以看出,使用跳转表需要240bytes,而第二种做法只用了72bytes。

提醒:《高效的C编程之:Switch语句(下)》最后刷新时间 2024-03-14 01:07:25,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《高效的C编程之:Switch语句(下)》该内容的真实性请自行鉴别。