什么是通配符???
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。
当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。 实际上用“*Not?pad”可以对应Notepad\MyNotepad【*可以代表任何字符串;?仅代表单个字符串,但此单字必须存在】;Notep[ao]d可以对应Notepad\Notepod【ao代表a与o里二选一】,其余以此类推。
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。
“?”:
可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。
要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.doc、loveh.doc。
“*”:
可以使用星号代替零个、单个或多个字符。
如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。
要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。
目标文件:依赖文件
(tab)命令
.o文件:.c文件 .h文件
(tab)命令
递归调用makefile,从底层调用到顶层,这个不理解???
一直对工作流程不熟悉,这个很重要。
Makefile的工作流程
没有指定输出项目时,Makefile会先在所有目标中找到第一个没有通配符的目标进行构造;
例如本文中的all,即时它是个伪目标
根据构造all的规则,需要构造(BUILD),而(BUILD),而(BUILD),而(BUILD)即是(BUILDDIR)下无后缀的可执行文件于是要构造的目标就变为了(BUILD_DIR)下无后缀的可执行文件 于是要构造的目标就变为了