Linux内核里面很多这样的写法
特别是这个代码
讲真,这样的代码在我们这里是会被叼的,好好的代码你不写,你非得写一个似懂非懂的意思。
但是你有没有想过,如果等于空,到底是多少呢?
我们先看下这个代码的汇编程序
汇编
编译脚本
代码输出
给关键的汇编代码加上注释
我们稍微修改下代码,然后再看看汇编
代码输出
通过比较发现汇编代码,只有一行不一样
关键的差异,就是在比较代码的位置,以比较结果看是否执行 setl %al
这也是为什么下面的代码结果是1的原因
我使用的GCC版本是
- EOF -
领取专属 10元无门槛券
私享最新 技术干货