阅读量:2
这一章完全可以和前两篇文章归类在一起,可以选择放一起看哦
拖更好久了,抱歉,让我偷了会懒
1. 自动化构建工具 make , makefile
make 是一个命令,makefile 是一个文件(在当前目录下)
make 和 makefile 搭配使用可以实现自动化构建
a. 依赖关系
test 依赖于 test.c
b. 依赖方法
$@ : 指的是依赖关系的左边
$^ : 指的是依赖关系的右边
也可以直接写成: gcc -o test test.c
c. 原理
make是如何工作的 ?
- 在默认的方式下,也就是我们只输入make命令。那么, make会在当前目录下找名字叫“Makefile”或“makefile”的文件 (前提是依赖关系第一个必须和要编译文件有关)
- 如果找到,它会找文件中的第一个目标文件(target),并把这个文件作为最终的目标文件
- 如果文件不存在,或是这个文件所依赖的后面的文件修改时间要比前面这个文件老(可
以用 touch 测试,如: test 修改时间比test.c更加新),那么,他就会执行后面所定义的命令来生成前面这个文件
- make会一层又一层地去找文件的依赖关系,直到最终编译出第一个目标文件
- 在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,
而对于所定义的命令的错误,或是编译不成功,make根本不理
d. make 判断是否需要重新编译
- 判断源文件的修改时间和可执行文件的修改时间(如果源文件没有修改:其修改时间比可执行文件早;如果源文件右修改:其修改时间比可执行文件晚)
- 如果源文件没有修改,则再使用 make 是不会编译的 ; 如果源文件有修改,则可以使用 make 重新编译
三种时间:
- Access:
最近一次进入文件时间,包括进入文件,或者修改文件内容
- Modify:
最近一次修改文件内容的时间
注:
touch + 没有创建的文件名
新创一个文件
touch + 有创建的文件名
更新时间
所以 touch 对 Modify 有影响
- Change:
最近一次修改文件属性的时间
回车换行:
回车( \r ):光标回到这一行的最开始处
换行( \n ):光标跳到下一行的最开始处
e. 文件清理
- make clean
清理文件
注意:
我们将它设置为伪目标,用 .PHONY 修饰,伪目标的特性是,总是可以被
执行
2. git 工具
- git + clone + 仓库里链接
与远程仓库链接
- git + add + 路径 / git + add + 文件名
添加该路径下的文件(没有被添加过的)
- git + commit + -m + "标注信息"
提交改动到本地
注:
第一次使用git,可能会出现一些问题:
注:名字和邮箱换成自己的就好了
- git + push
提交到远程仓库里面