CSUFinalLecture

1. 一个简单的C语言程序的生命周期

1.1 编辑器的角度

一个简单的C程序 code/hello.c :

#include <stdio.h>

int main(){
    printf("Hello,world!\n");
    return 0;
}

1.2 编译器的角度

该C程序 hello.c 的编译过程: 编译系统

1.3 CPU的角度

该C程序 hello.c 的执行过程: 一个典型系统的硬件组成

1.4 内存的角度

该C程序 hello.c 执行时的内存地址分配: 进程的虚拟地址空间

另外一种经常看到的内存分配图示是这样的:

小结:

我们今天要研究的是: 计算机系统提供的一些抽象层次