sizeof 就是一个符号,编译器一看到他,就知道是这个符号了,然后给他设置内部的数而已
int c = ++a
bp指针如果加的话,就是找参数,如果减法,就是找到局部变量;
init c = ++a + ++a 看看这句话,结果39编译器不一样,这就话有可能结果也不一样,实际开发中不要这样写,不安全;
访问结构体属性 比较条件结果表 符号寄存器,存放比较的结果,修改相应的二进制位 Jietu20170520-121738.jpg
switch和if的效率问题
if (a > 0),bp-4,局部变量8086架构有16个寄存器;
ARM架构有37个寄存器;6个特定的寄存器,其他都叫通用寄存器
switch函数的反汇编1 switch函数的反汇编2 if语句
在这种基本比较中,我们认为是相同的,但是其他情况就不应了;
switch123 switch1-7开辟空间,放指令,将来拿来就用,然后保存,cmp的结果都放到哪里,还有要去执行的代码放到内存中,保存内存地址,将来直接用,拿空间换时间;
编译器的优化-有些优化了时间,有些最大优化,有些尽可能优化。。。