嵌入式100题(70):一个程序从开始运行到结束的完整过程(四个过程)

本文详细阐述了一个嵌入式程序从编译预处理(处理伪指令、头文件包含、宏定义、条件编译)、编译(生成汇编代码)、汇编(生成机器代码)、到链接(寻找库函数)的完整过程,介绍了每个阶段的关键步骤和相关工具的使用。

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

一个程序从开始运行到结束的完整过程(四个过程)

1、编译预处理:处理伪指令

  1> 头文件包含

  2> 宏定义

  3> 条件编译   #if #endif  

                 gcc -E xxx.c -o  xxx.i               

2、编译:把预处理之后的文件进行语法分析,生成汇编代码

                 gcc  -S xx.i -o xx.s

3、汇编:将汇编文件生成机器代码(二进制代码)

                 as xx.s -o xx.o

4、链接:去指定路径下找库函数 (头文件包含的是声明,具体实现封装在库中)

                 gcc xx.o -o xx

           -c: 只编译不链接  (只做编译过程的前3步)

           -g: 加入调试信息  供gdb调试

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

角色人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值