gcc和makfile
- gcc
- 预处理(进行宏替换)
- 编译(生成汇编)
- 汇编(生成机器可以识别的代码)
- 连接(生成可以执行的文件或者库文件)
- make
- makefile文件的编写
gcc
没安装的话,按照终端提示的安装命令安装就行
运行的格式: gcc [选项] [要编译的文件] [选项] [目标文件]
一个程序编译的话,一般包括4个阶段
1.预处理:进行宏替换
2.编译(生成汇编)
3.汇编(生成机器可以识别的代码)
4.连接生成可以执行的文件或者库文件
预处理(进行宏替换)
这里以一个test2.c的文件为例
命令: gcc -o 文件名 重定义文件名
gcc -o 命令,也就是把文件名重定义下
命令 gcc -E test2.c - o test2.i
编译(生成汇编)
命令: gcc -S test2.i -o test2.s
汇编(生成机器可以识别的代码)
连接(生成可以执行的文件或者库文件)
这里生成了可执行文件mybin
直接在根目录下执行就行
./mybin
简单总结下
gcc -E .c文件 -o .i文件
gcc -S .o文件 -o .s文件
gcc -c .s文件 -o .o 文件
gcc .o文件 -o 可执行文件
根目录下直接运行可执行文件
make
如果文件很多的话,那么用gcc命令就很麻烦
所以推出了make命令,要想执行make命令,就要编写出makefile文件
makefile文件的编写
编写makefile文件的本质:
1.编写依赖关系
2.编写依赖方法
两者缺一不可
makefile文件编写:
方法一
makefile文件编写
方法二:
、
至于make命令中的
.PHONY: clean
你可以理解成一个固定的写法,记住就行
编译文件的话
用make命令
删除文件的
用make clean 命令
当然makefile文件的编写,比较复杂,我这里也只是简单的应用了下