标签: glibc

2 篇文章

thumbnail
libc.so.6 背后的含义
Linux 有一套规则来命名系统中的每一个共享库,它规定共享库的文件命名规则如下:libname.so.x.y.z,即前缀"lib"+库名称+后缀".so"+三个数字组成的版本号,其中,x 表示主版本号,y 表示次版本号,z 表示发布版本号。SO-NAME 命名机制,就是把共享库的文件名去掉次版本号和发布版本号,只保留主版本号。在 Linux 系统中,系统会为每个共享库在它所在的目录创建一个跟它的 ”SO-NAME” 一样的软链接指向它。
切割堆块
在glibc源码中搜索split可以找到堆块切割相关源码 在malloc.c的_int_malloc函数中发生堆块切割的情形如下: 遍历unsorted chunks时 请求满足small request last remainder 堆块是唯一堆块,且切割后剩下的仍然满足最小堆块大小 从largebin中找到最小的满足要求的堆块 切割后剩余堆块的…