
C
文章平均质量分 88
逃课的小学生
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
libc 2.27 堆管理机制
由于在libc2.26之后引入tcachebins,所以堆分配机制和之前不太相同 tcachebins——tcachebins是一个长度为64的字节数组,每个字节数组对应一条链表。所以tcachebins只能存放0x0-0x400大小的堆,且每个链表长度为7。并且类似于fastbins,是一个单链表。在释放大小为0x0-0x400大小的堆的时候,首先会被释放入对应长度tcachebins对应的链表中,当长度超出7后,再放入fastbin或unsortbins中。malloc的时候当发现malloc对应大小原创 2020-10-06 20:58:10 · 1477 阅读 · 0 评论 -
Built-in Functions for Memory Model Aware Atomic Operations
下面的内置函数大致符合C++ 11内存模型的要求。它们都是通过前缀'__atomic'来标识的,而且大多数都是重载的,因此它们可以处理多种类型。 这些函数用于替换传统的“__sync”内置函数。主要区别在于请求的内存顺序是函数的参数。新代码应该始终使用“__atomic”内置代码,而不是“__sync”内置代码。 注意,“__atomic”的构建假设程序将符合C++ 11内存模型。特别是,他们...原创 2019-11-04 11:45:52 · 1347 阅读 · 0 评论 -
C attribute
目录 C++ attribute 定义 解释 标准属性 gnuattribute 对变量进行属性设置 aligned(alignment) packed 对函数进行属性设置 format (archetype, string-index, first-to-check) noreturn weak weakref,weakref ("target") hot ...原创 2019-10-24 13:16:29 · 625 阅读 · 0 评论