0708学习记录
来源:互联网 发布:三峡大学网络教育 编辑:程序博客网 时间:2024/06/10 14:33
今天学习的主要内容是Makefile。首先说下Make工程管理器,它是完全根据Makefile文件中的编译规则命令进行工作的。
Makefile的好处:自动化编译,一旦写好,只需要一个make命令,整个工程自动化编译,极大提高软件的编译效率,作为一个好的程序员,makefile必须有所了解。
Makefile文件由以下三项基本内容组成。
(1)需要生成的目标文件(Target file)
(2)生成目标文件所需要的依赖文件(dependency file)
(3)生成目标文件的编译规则命令行(command)
第二点讲下Make的工作方式,分以下7个步骤:
1:读入所有的Makefile
2:读入被include的其它Makefile
3:初始化文件中的变量
4:推导隐晦规则,并分析所有规则
5:为所有目标文件创建关系链
6:根据依赖关系,决定哪些目标文件重新生成
7:执行生成命令
Make工程管理器编译tset程序的过程如下。
(1)Make工程管理器首先会在当前目录下读取Makefile文件。
(2)查找Makefile文件中的第一个目标文件,该文件也是Make工程管理器本次编译任务的最终目标。
(3)把目标文件的依赖文件当做目标文件进行依赖规则检查。这是一个递归的过程。Make会根据以下三种情况进行处理
1.如果当前目录下没有或者缺少依赖文件,则执行其规则命令生成依赖文件
2.如果存在依赖文件,则把其作为目标文件来检查依赖规则
3.如果目标文件比所有文件依赖文件新,则不做处理。
(4)递归执行第三步后,就会得到目标文件所有最新的依赖文件了。接着Make会根据以下三种情况进行处理
如果目标文件不存在,则执行规则命令生成test
如果目标文件test存在,但存在比test要新的依赖文件,则执行规则命令更新test
目标文件test存在,且比所有依赖文件新,则不做处理
- 0708学习记录
- --学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- Android Loader解析
- C++ primer (2) —— 基础
- android studio关于build/outputs/apk/中apk或arr或jar无法删除的解决方法
- 个人记事本
- iOS SVProgressHUD 简单使用
- 0708学习记录
- css3的3D图片旋转
- 学习ACM之路-大数的幂运算
- Java基础之多线程断点下载
- C# 刷新win7桌面
- Java线程经典面试题
- bnuoj_4049 四叉树
- SPOJ 375 树链剖分
- C语言link()函数:建立文件连接