C语言的编译过程
1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
2)编译:检查语法,将预处理后的文件编译生成汇编文件
3)汇编:将汇编文件生成目标文件(二进制文件)
4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终可以执行的程序中去
windows中的gcc编译程序
说明:1.使用gcc去编译程序,(Qt Creater)
2.Windows中gcc设置:
需要把Qt的安装目录复制在高级系统设置——选择环境变量——在系统path下将目录添加
1)一步编译
gcc -o hello.exe hello1.c hello2.c
Windows中的gcc分布编译
1)预处理:gcc -E hello.c -o hello.i
2)编译:gcc -S hello.i -o hello.s
3)汇编:gcc - c hello.s -o hello.o
4)链接:gcc hello.o -o hello.exe
hello.c |
hello.i |
hello.s |
hello.o |
hello.exe |
|||
C语言源码 |
预处理 |
编译 |
汇编 |
链接 |
|||
|
1.检查语法 2.将C语言转成汇编语言 |
1.将汇编转成机器语言 |
1.将C语言库文件链接到可执行程序中 |
||||
gcc –E hello.c –o hello.i |
gcc –S hello.i –o hello.s |
gcc –c hello.s –o hello.o |
gcc hello.o –o hello.exe |