Ysc博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
volatile关键字

volatile关键字

volatile关键字总结
2023-11-09
C > 语法
#原创
C中的字符串函数

C中的字符串函数

讲讲C库中的字符串函数需要特别注意的地方
2023-11-09
C > 函数
#原创
C中结构体的四种初始化方法

C中结构体的四种初始化方法

C中结构体的四种初始化方法说明
2023-11-09
C > 语法
#原创
编译器的优化方法

编译器的优化方法

常见的编译器优化方法
2023-11-09
编译器
#原创
C语言中的内嵌汇编

C语言中的内嵌汇编

C语言中的内嵌汇编语法解释
2023-11-09
C > 语法
#原创
Linux内存映射函数mmap函数详解

Linux内存映射函数mmap函数详解

mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。 函数原型 void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset); int munmap(void* start,size_
2023-11-09
Linux > 杂项
#转载
Linux堆内存管理深入分析(上)

Linux堆内存管理深入分析(上)

前言近年来,漏洞挖掘越来越火,各种漏洞挖掘、利用的分析文章层出不穷。从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞利用两种。国内关于栈溢出的资料相对较多,这里就不累述了,但是关于堆溢出的漏洞利用资料就很少了。鄙人以为主要是堆溢出漏洞的门槛较高,需要先吃透相应操作系统的堆内存管理机制,而这部分内容一直是一个难点。因此本系列文章主要从Linux系统堆内存管理机制出发,逐步介绍诸如基本堆溢出
2023-11-09
Linux > 堆&栈
#转载
Linux堆内存管理深入分析(下)

Linux堆内存管理深入分析(下)

0 前言回顾在上一篇文章中(链接见文章底部),详细介绍了堆内存管理中涉及到的基本概念以及相互关系,同时也着重介绍了堆中chunk分配和释放策略中使用到的隐式链表技术。通过前面的介绍,我们知道使用隐式链表来管理内存chunk总会涉及到内存的遍历,效率极低。对此glibc malloc引入了显示链表技术来提高堆内存分配和释放的效率。 所谓的显示链表就是我们在数据结构中常用的链表,而链表本质上就是将一些
2023-11-09
Linux > 堆&栈
#转载
free源码分析——1

free源码分析——1

free源码分析—__libc_free本章继续之前的glibc中的《malloc源码分析》系列开始分析free的源代码,malloc的源码分析可以查看博客里同类别文章下的《malloc源码分析—1》到《malloc源码分析—5》,因此free的源码中有一些结构和malloc相似的地方就不会做过多的介绍了。 首先在glibc的malloc.c中有如下定义, 1234strong_alias( __
2023-11-09
C > 源码分析
#转载
free源码分析——2

free源码分析——2

free源码分析—_int_free根据上一章的分析可知,如果一个chunk不是由mmap分配得到,就会调用_int_free进行释放。下面来看, 123456789101112void __libc_free(void *mem) { ... p = mem2chunk(mem); if (chunk_is_mmapped(p)){ ...
2023-11-09
C > 源码分析
#转载
1…2223242526

搜索

Hexo Fluid