gcc
freshman94
这个作者很懒,什么都没留下…
展开
-
__builtin_expect的作用
将流水线引入cpu,可以提高cpu的效率。更简单的说,让cpu可以预先取出下一条指令,减少cpu等待取指令的耗时,从而可以提供cpu的效率。如果存在跳转指令,那么预先取出的指令就无用了。cpu在执行当前指令时,从内存中取出了当前指令的下一条指令。执行完当前指令后,cpu发现不是要执行下一条指令,而是执行offset偏移处的指令。cpu只能重新从内存中取出offset偏移处的指令。因此,跳转指令会...转载 2019-04-04 16:46:55 · 9019 阅读 · 0 评论 -
__attribute__
attribute是GNU C特色之一,在iOS用的比较广泛.系统中有许多地方使用到. attribute可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute)等.函数属性(Function Attribute)noreturnnoinlinealways_inlinepureconst...原创 2019-04-04 16:55:19 · 681 阅读 · 0 评论 -
GUARDED_BY(c) 和 PT_GUARDED_BY(c)
GUARDED_BY是一个应用在数据成员上的属性,它声明了数据成员被给定的监护权保护。对于数据的读操作需要共享的访问权限,而写操作需要独占的访问权限。PT_GUARDED_BY与之类似,只不过它是为指针和智能指针准备的。对数据成员(指针)本身没有任何限制,它保护的是指针指向的数据。...原创 2019-04-04 16:57:32 · 3612 阅读 · 0 评论