- 博客(4)
- 收藏
- 关注
原创 栈帧分析
1.栈帧 这里首先我们需要明白什么是栈帧,栈帧就是编译器用来实现函数的一种数据结构。简单的讲就是一个记录程序调用函数相关信息的结构。而栈帧拥有着栈的各种特性。 所以在这里我们还需要明白栈这个数据结构,栈是一种是一种只能在一端进行插入和删除操作的特殊线性表,它按照后入先出的原则储存数据,先进入的数据压入栈底,而后来的数据在栈顶,需要读数据时从栈顶开始一个一个被弹出,在内存中,栈是从高地址
2016-07-28 23:32:13 1504
原创 在Linux环境下查看目标文件生成过程
1.使用vim编辑器编写源代码 以最简单的在屏幕输出“hello world!”为例。首先在vim编辑器里输入源代码:#include int main(){ printf(“hello world !\n"); return 0;} 打开终端,输入指令:ls。显示当前文件夹内的所有文件,然后进入其中的workspace文件夹。
2016-07-21 00:52:36 3396
原创 编译链接的基本步骤
因为现在的开发环境都是集成开发环境,所以我们很少需要关注一段代码在计算机中编译链接的过程。但是事实上,通常一段代码需要四个步骤才能完成从编译到链接的过程,分别是预处理,编译,汇编和链接。 编译链接过程如图: 1.预处理 预处理编译过程主要处理源代码中以“#”
2016-07-21 00:26:25 1149
原创 线程基础
一.多任务系统与进程 进程指运行中的应用程序,每一个进程都有自己独立的内存空间,使得进程之间的地址空间隔离即多任务系统。 多任务系统里操作系统接管了所有的硬件资源,并本身运行在一个受硬件保护的级别。二.线程的概念 线程也被称为轻量级进程,是程序执行流的最小单元,一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。通常意义上
2016-07-18 22:20:33 422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人