编译和链接

本文详细解析了ANSIC中的翻译环境,涉及编译过程(包括预处理、编译和汇编),以及链接机制。同时介绍了运行环境的四个阶段:内存载入、执行main函数、程序代码执行和终止。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.翻译环境和运行环境

在ANSIC中,存在两种不同的环境:

1.翻译环境:

将源代码转换为二进制指令

分为编译和链接

.c文件如何生成可执行程序:

多个.c文件单独经过编译器处理生成对应目标文件,多个目标文件和链接库一起经过链接器处理生成最终的可执行程序    (链接库是指运行时库(支持程序运行的基本函数集合)或者对三方库)

编译:预处理(预编译)(1.头文件的包含 2.#define定义符号的替换 3.注释的删除)+编译(词法,语法,语义分析)+汇编(将汇编的代码翻译成二进制指令)

链接:把多个目标文件链接生成一个可执行程序,包括符号的决议和重定义

2.运行环境:

1.载入内存

2.程序执行,接着调用main函数

3.执行程序代码,这时程序将使用函数栈帧,存储函数的局部变量和返回地址,同时使用静态内存,保留变量的值

4.终止程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值