C程序编译步骤
C代码编译成可执行程序经过4步:“
1.预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删
除,这里并不会检查语法+
2.编译:检查语法,将预处理后文件编译生成汇编文件.
3.汇编:将汇编文件生成目标文件(二进制文件)
4.链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
GCC编译程序:
1.一步编译:
CMD命令中:
gcc -o hello.exe hello1.c hello2.c
2.C语言分布编译
宏文件编译:
#define MAX 100//定义一个宏文件常量 100
头文件:例如#include<***>//将***库中的代码展开
条件编译:例如正在编写代码的电脑为64位,那么编译条件为64位(只是例子)
1.预处理:宏文件展开 头文件展开 条件编译 去掉注释
CMD中:
gcc -E(大写) hello.c -o hello.i
2.编译:检查语法 将c语言转成汇编语言
CMD中:
gcc -S(大写) hello.i -o hello.s
3.汇编:将汇编语言转成机器语言(二进制编码)
CMD中:
gcc -c(小写) hello.s -o hello.o
依赖库可以理解成库,例如#include<***>,中***就是一个库
4.链接:将C语言依赖库链接到程序中
CMD中:
gcc hello.o -o hello.exe(.exe可省略,但最好打上)
选项 | 含义 |
-E | 只进行预处理 |
-S | 只进行预处理和编译 |
-c | 只进行预处理、编译和汇编 |
-o file | 指定生成的输出文件名为 file |
3.常见的代码问题
(1)编辑时异常
(2)编译时异常
(3)运行时异常
程序执行过程: