程序的翻译和运行环境

翻译环境,在这个环境中源代码被转换为可执行的机器指令。
执行环境,用于实际执行代码。

例如 test.c 经过翻译环境-> test.exe 经过运行环境 -运行

在翻译环境中 – 编译(编译器),链接(链接器)

编译又分为三个阶段-- 预处理(预编译),编译, 汇编

翻译环境

编译

预处理(预编译)

预处理阶段进行一些文本操作 生成了.i文件

注释的删除,注释被替换成空格
头文件的包含
#define等预处理指令的替换

编译

把C语言代码翻译成汇编代码 生成了.s文件

词法分析 语法分析 语义分析 符号汇总

汇编

把汇编代码翻译成二进制的指令 生成了.o文件

生成符号表

链接

链接目标文件和链接库生成可执行二进制的程序

合并段表 符号表的合并和符号表的重定位

运行环境

在执行阶段,程序的机器代码被加载到计算机的内存中,并由操作系统的执行环境负责执行。执行环境会为程序提供必要的资源,如内存空间、处理器时间和输入输出设备等。

开始执行程序代码。这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值