- 博客(3)
- 资源 (7)
- 收藏
- 关注
原创 C Runtime C运行时
C运行时主要包括以下几个部分: 1)引导程序(main)的入口函数和退出函数以及其依赖的各种函数 2)C的标准函数的实现 3)I/O功能的封装和实现 4)堆的封装和实现 5)C语言的特殊功能的实现 6)调试功能 7)其他 运行时(Runtime)是平台相关的,这里的平台指的是操作系统 它可以被理解成是C语言程序和不同操作系统平台的抽象层
2015-03-07 20:45:16
1054
原创 Linux进程的堆
进程的地址空间中有很大的一块区域是被称作“堆”的区域 其地址空间是在进程的.data和.bss的地址增长方向到动态库区域的低地址部分的范围 堆可以理解成是进程的一大块内存区域(已经分配实际物理内存,但并不是所有的地址空间都分配了物理内存,其大小根据系统类型和版本来定) 用来供进程中的程序动态分配内存空间 通常,进程通过向操作系统批发一大块实际的内存空间交给glibc管理以提高动态内存请求和释放的效率 在程序要请求动态分配比较小的内存空间的时候,glibc从这一大块内存空间中分配之 当程序要请求动态分配较大的
2015-03-07 19:22:35
1373
原创 Linux进程的栈和进程中函数的栈帧及其结构
Linux进程的栈和进程中函数的栈帧及其结构 主要理解了Linux进程的栈和函数的栈帧的区别和联系 1)如何从调用者进入被调者?call 2)如何从被调者返回调用者?ret 3)调用者如何支配被调者(被调函数参数传递)?参数 4)被调者的价值如何体现(返回值的传递)?寄存器eax、edx
2015-03-05 23:21:14
1528
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人