一、概述
计算机系统三大部分:CPU 、内存、I/O。通常我们所写的程序都会加载到虚拟内存中,虚拟内存的大小是与CPU的位数有关,一般我们所用的计算机都是X86体系32位的linux操作系统,所以虚拟内存的大小是2^32 = 4G。我们一般把程序运行所需要的虚拟内存称为虚拟地址空间,它的大小也是4G,它又被分为用户空间(大小时3G)和内核空间(1G),那么它的构成是什么样的呢?
二、过程
程序的运行一般分为四个过程:预编译、编译、汇编、链接。
预编译阶段主要做:删除注释、处理以#开头的预编译指令,生成mian.i文件
编译阶段主要做:语义分析,代码优化,汇总所有的符号,生成main.s文件