CC_UNLIKELY
时间: 2024-04-20 17:20:44 浏览: 31
CC_UNLIKELY是一个宏定义,用于告诉编译器某个条件发生的可能性很低,以便进行优化。它通常用于条件语句中,用于提高代码的执行效率。当条件发生的概率很低时,编译器可以将该条件的代码路径放在分支预测的冷路径上,从而提高程序的性能。
范例:<<引用:有这么多情况引起可见区域变化,但是发生这种情况还是比较少的,相比于不发生变化的情况还是少很多的,所以这里使用CC_UNLIKELY去修饰条件,告诉编译器可以优化 [^1]。引用:这个for循环是对cursorlayer的处理,主题就是调用setIsCursorLayerHint函数设置HWC_IS_CURSOR_LAYER的flags位,函数很简单就不做说明 virtual void setIsCursorLayerHint(bool isCursor) { if (hwcHasApiVersion(mHwc, HWC_DEVICE_API_VERSION_1_4)) { if (isCursor) { getLayer()->flags |= HWC_IS_CURSOR_LAYER; } else { getLayer()->flags &= ~HWC_IS_CURSOR_LAYER; } } } 。引用:CC_UNLIKELY是一个宏定义,用于告诉编译器某个条件发生的可能性很低,以便进行优化。它通常用于条件语句中,用于提高代码的执行效率。当条件发生的概率很低时,编译器可以将该条件的代码路径放在分支预测的冷路径上,从而提高程序的性能。[^3]。
CC_UNLIKELY的使用示例[^3]:
```c++
if (CC_UNLIKELY(condition)) {
// 当条件发生的概率很低时执行的代码
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)