巩义做网站哪家好,华为荣耀手机官网,专业做公司宣传网站,网页设计需要的技能继续学习makefile#xff0c;希望尽快掌握makefile好在面试中更好的掌握方向#xff01;加qq1126137994一起学习更多技术#xff01;#xff01;
1、回顾
makefile的意义#xff1a;
makefile用于定义源文件之间的依赖关系makefile说明如何编译各个源文件并生成可执行文…继续学习makefile希望尽快掌握makefile好在面试中更好的掌握方向加qq1126137994一起学习更多技术
1、回顾
makefile的意义
makefile用于定义源文件之间的依赖关系makefile说明如何编译各个源文件并生成可执行文件
依赖的定义 ‘\t’ 代表的是tab键
makefile中各元素的意义 -targets
通常是需要生成的目标文件名make所需执行的命令名称
-prerequisities:
当前目标所依赖的其他目标或依赖
-command:
完成目标所需执行的命令
注意事项
targets可以是多个目标使用空格对目标名进行分离prerequisities可以是多个依赖使用空格对多个依赖进行分隔每一个命令行都必须以一个【tab键】字符开始【tab】字符告诉make这一行是命令行续行符【\】可以将内容分开写到下一行提高可读性
一个makefile的依赖示例
依赖规则
当目标对应的文件不存在执行对应的命令当依赖在时间上比目标更新执行相应的命令意思就是依赖文件有改动时执行相应命令当依赖关系连续发生时对比依赖链上的每一个目标
小技巧 makefile中可以在命令前加上【】符作用为命令无回显
2、makefile简单示例
下面是一个简单的makefile文件 all : testecho make alltest :echo make test输入make命令显示如下 make test make all
3、make编译简单示例 小技巧 工程开发中可以将最终可执行的目标文件名 和 all 同时作为makefile中的第一条规则的目标
hello.out all : main.o func.ogcc -o hello.out main.o func.o
下面给出一个 makefile文件
hello.out all : func.o main.ogcc -o hello.out func.o main.ofunc.o : func.cgcc -o func.o -c func.cmain.o : main.cgcc -o main.o -c main.cfunc.c文件
#include stdio.hvoid foo()
{printf(void foo() : hello makefile\n);
}main.c文件 extern void foo();int main()
{foo();return 0;
} 在Linux下输入make命令执行结果如下 gcc -o main.o -c main.c gcc -o hello.out func.o main.o
运行编译所得的可执行文件hello.out 输出结果为 void foo() : hello makefile
以上程序比较简单就不分析了仅供学习复习使用
4、总结
makefile用于定义源文件之间的依赖关系makefile说明如何编译各个源文件并生成可执行文件makefile中的目标之间存在连续依赖的关系依赖存在并且命令执行成功是目标完成的充要条件
想一起探讨以及获得各种学习资源加我有我博客中写的代码的原稿 qq1126137994 微信liu1126137994 可以共同交流关于嵌入式操作系统C语言C语言数据结构等技术问题。
本学习记录完全来源于狄泰软件学院的相关课程可以加我q1126137994或者Q群199546072 给你推荐更多学习课程。