C语言
文章平均质量分 78
Suspend.
emm
展开
-
c语言scanf用法详解
看了一下glibc scanf的源码之后,对scanf的使用方法有了更深入的理解,下面给大家讲解一下scanf函数的用法.1.以%开头的字符串%[argpos$] [I'*] [maximum field width] [type modifiers] [arg]argpos: 指定了参数的位置I’*I:use locale’s digits': Group numbers*: 跳过这个参数maximum field width : 从输入的内容中最多读取几个字符type mod原创 2022-05-09 00:04:49 · 5725 阅读 · 0 评论 -
glibc-2.23 _int_malloc函数流程分析
文章目录_int_malloc流程分析1.尝试在fastbin里面寻找2.尝试在small bin里面寻找3.触发malloc_consolidate4.for()循环:5 use top其他部分:1.关于last_reminder_int_malloc流程分析1.尝试在fastbin里面寻找若needbytes 是小于fastbin最大chunk的大小,根据needbytes计算出idx,在对应的bin里面看一下有没有chunk。若对应的bin并不是空的,那么取出一个chunk 名为victim,检原创 2022-05-08 20:50:52 · 518 阅读 · 0 评论 -
glibc-2.23 sysmalloc函数代码分析
基础知识: malloc_state 和 heap_info heap 就是一块大的内存区域,若不是main_arena,heap是mmap创建的,main_arena是sbrk拓展得到的(拓展失败也会调用mmap) (由于main_arena的heap在内存开始处没有保存heap的info,所以和非main_arena的heap还有稍微有点区别的)malloc_state 结构体是用来管理bins和heap的结构体,(top chunk 指向的就是一个heap的可用区域)。当我们从一个a原创 2022-04-25 01:07:34 · 532 阅读 · 0 评论 -
C语言+Win32实现俄罗斯方块
//block.h定义各种块int block1[2][2] ={ { 1, 1 }, { 1, 1 }};int block2[3][3] ={ { 0, 1, 0 }, { 1, 1, 1 }, { 0, 0, 0 }};int block3[3][3] ={ { 1, 1, 1 }, { 0, 1, 0 }, { 0, 0, 0 }};int block4[3][3] ={ { 1, 1, 0 }, { 0, 1, 1 }, { 0, 0, 0 }};i原创 2021-07-14 19:37:45 · 348 阅读 · 0 评论