深入理解计算机系统
J.K.Roling
这个作者很懒,什么都没留下…
展开
-
深入底层剖析过程调用
概述 一个过程调用包括把数据和控制从代码的一部分转移到另一部分。同时,过程还需要为局部变量分配空间,在执行完该部分后退出时释放这些空间。其中,数据传递、局部变量的空间分配和释放通过操作程序栈来实现。 栈帧结构 既然需要操作栈,我们先来看看栈的结构。栈帧是为单个过程分配的部分。 栈帧的大小由栈顶指针%esp和栈底指针%ebp确定。 1、发生调用时:当使用call语句调用某个函数时,通常分为两步操作...原创 2020-04-15 16:38:48 · 311 阅读 · 0 评论 -
程序机器级表示之数据
程序机器级表示之数据 数组 基本原则 1、声明一个数据类型为T,程度为N的数组A ,T A[N]。这句语句的意思为在存储器中分配N*sizeof(T)个字节的存储空间,其中A为指向该存储空间的首地址,在Ubantu下用 p A打印指令,可以看出A存储的是一个地址。 下面来看看几个数组的声明: char A[12] char *B[4] int C[8] int * D[8] 数...原创 2020-04-11 14:00:07 · 206 阅读 · 0 评论