如何为我的在线店铺选择合适的域名?
摘要:网站名称写什么,店铺域名是什么意思,长沙品牌设计,公司网站优化哪家好Makefile Makefile:定义规则指定文件的编译顺序;类似shell脚本&#xff0c
网站名称写什么,店铺域名是什么意思,长沙品牌设计,公司网站优化哪家好Makefile
Makefile#xff1a;定义规则指定文件的编译顺序#xff1b;类似shell脚本#xff0c;执行操作系统命令
优点#xff1a;自动化编译——通过make#xff08;解释Makefile文件中指令的命令#xff09;命令完全编译整个工程#xff0c;提高软件开发效率#x…Makefile
Makefile定义规则指定文件的编译顺序类似shell脚本执行操作系统命令
优点自动化编译——通过make解释Makefile文件中指令的命令命令完全编译整个工程提高软件开发效率
如何写Makefile
文件命名makefile/Makefile
一个Makefile可以有一个/多个规则
目标...依赖... 命令shell 命令 ...
目标要生成的文件
依赖生成目标所需的文件/目标
命令通过命令对依赖操作生成目标 在目录在创建Makefile文件里面的内容如下 可能会出现 E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend) sudo rm /var/lib/dpkg/lock-frontend 随后sudo apt install make 即可安装 在当前目录下执行make指令会自动寻找当前目录下的Makefile Makefile的工作原理
1. 命令执行前先检查规则中的依赖是否存在
若存在则执行命令
若不存在往下看别的规则看能不能生成尚不存在的依赖
默认执行第一条规则与第一条规则没有关系的规则不会执行
2. 检查更新在执行规则命令比较目标和依赖文件的时间依赖晚于目标则重新生成目标否则规则中的命令不执行检测更新机制 Makefile中的变量
自定义变量变量名变量值 $(变量名) 变量值 模式匹配eg. %.o:%.c $(wildcard PATTERN ...) - 获取指定目录下指定类型的文件列表
$(patsubst pattern,replacement,text) - 查text单词匹配pattern用replacement替换 首先读取当前目录下的所有.c文件为src通过patsubst将.c替换为.o后根据变量名写规则通过模式匹配来进行其余规则指定
可以通过在最后添加
.PHONY:clean // 伪目标
clean: rm $(objs) -f删除生成的.o文件
make clean GDB调试
GDB是GNU提供的调试工具 准备工作
1. 关掉编译器优化选项 -o
2. 打开调式选项 -g(在可执行文件中加入源代码信息)
3. -Wall 打开所有warning
gcc -g -Wall program.c -o program
调式时必须保证能够找到源文件 GDB常用相关命令 gcc -g -Wall test.c -o testgdb test断点在GDB退出后会自动清除 要跳出函数体或循环需要先清理断点
