一个程序从开始运行到结束的完整过程(四个过程)
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调试
本文详细阐述了一个嵌入式程序从编译预处理(处理伪指令、头文件包含、宏定义、条件编译)、编译(生成汇编代码)、汇编(生成机器代码)、到链接(寻找库函数)的完整过程,介绍了每个阶段的关键步骤和相关工具的使用。
682

被折叠的 条评论
为什么被折叠?



