当前位置: 首页 > news >正文

关于校园网站建设的建议玄幻小说百度风云榜

关于校园网站建设的建议,玄幻小说百度风云榜,尉氏做网站,didv WordPress目录 make/Makefile概念和关系 make/Makefie的使用 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重…

目录

make/Makefile概念和关系

make/Makefie的使用


 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作 makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

make/Makefile概念和关系

make是一条命令,makefile是一个文件(在当前源代码路径下)。

makefile是一个围绕依赖关系依赖方法构建的一个自动化编译的工具。

依赖关系就像是你学生时代和你爸的关系,你依赖于你爸生活,但是makefile在使用时不能只表明依赖关系,你打电话给你爸,说你是他儿子,然后就把电话挂掉了,你爸也很懵逼,不知道你要干啥,你打电话给你爸说你是他儿子(依赖关系)然后应该表明你要干啥(依赖方法),比如你要你爸给你打生活费,打生活费这个行为就是一个依赖方法,只有依赖关系和依赖方法同时具备才能做成一件事情,才能从你爸那里拿到生活费。依赖关系和依赖方法是相对应的,必须是正确的依赖关系和依赖方法,你不能打电话给你爸说让他帮你做作业,也不能打电话给别人的爸要生活费。

make/Makefie的使用

在当前目录创建一个文件,命名为makefile或者Makefile

 使用vim编辑器打开Makefile

使用make命令执行Makefile文件

上面的文件 test,它依赖 test.o

                   test.o , 它依赖 test.s

                   test.s , 它依赖 test.i

                   test.i , 它依赖 test.c

make是如何工作的 ?

  • make会在当前目录下找名字叫“Makefile”或“makefile”的文件。
  • 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“test”这个文件, 并把这个文件作为最终的目标文件。
  • 如果test文件不存在,或是test所依赖的后面的test.o文件的文件修改时间要比test这个文件新(可以用 touch 测试),那么,他就会执行后面所定义的命令来生成test这个文件。
  • 如果test所依赖的test.o文件不存在,那么make会在当前文件中找目标为test.o文件的依赖性,如果找到则再根据那一个规则生成test.o文件。(这有点像一个堆栈的过程)
  • 如果你的c文件和h文件是存在的,make会生成 test.o 文件,然后再用 test.o 文件声明 make的终极任务,也就是执行文件test了。
  • 这就是整个make的依赖性,make会一层又一层地去找文件的依赖关系,直到最终编译出第一个目标文件。
  • 在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错, 而对于所定义的命令的错误,或是编译不成功,make根本不理。
  • make只管文件的依赖性,如果在找了依赖关系之后,冒号后面的文件还是不在,那么就不会执行了。

我们创建项目,也需要清理项目,清理项目也是在Makefile文件中编写

 

 

 像clean这种,没有被第一个目标文件直接或间接关联,那么它后面所定义的命令将不会被自动执行, 不过,我们可以显示要make执行。即命令——“make clean”,以此来清除所有的目标文件,以便重编译。 但是一般我们这种clean的目标文件,我们将它设置为伪目标,用 .PHONY 修饰,伪目标的特性是,总是被执行的。 可以将我们的 test 目标文件声明成伪目标。

我们发现,当我们重复执行make时,它不让我们重复执行,加上 .PHONY 修饰,就可以让文件总是被执行的。编译是一件非常费时间的事,所以一般只编译更新后的文件,如果重复执行make,被编译的文件又没有被更新,make就不会被执行。建议不给生成可执行文件加上.PHONY,因为编译太费时间了,清理项目可以加上。

我们编译的时候是先有源代码,再有可执行程序,源代码的修改时间要更晚一些,如果可执行程序比源代码的修改时间更新,make命令就不会再执行了。make是否执行取决于源代码和可执行程序的修改时间。

.PHONY会更新源代码的修改时间,让源代码的修改时间比可执行程的修改时间序晚,这样make就可以一直执行了。

http://www.laogonggong.com/news/20840.html

相关文章:

  • 有没有可以做网站动图的软件有哪些平台可以免费发广告
  • 免费大气网站模板网络营销概述
  • 马关县住房和城乡建设局网站关键词排名批量查询软件
  • 提供中小企业网站建设郑州网站制作
  • 山东网站域名备案时间免费培训seo
  • 做外贸收费的服装网站营销技巧和营销方法
  • 汕头个人网站建设白百度一下你就知道
  • ueditor wordpress关键词优化按天计费
  • 做韩国的跨境电商网站北京网站开发
  • 花店网站建设构思企业文化
  • 如何做网站子页整站优化排名
  • 做游戏都需要什么网站吗国外seo网站
  • 网站快照历史百度的seo排名怎么刷
  • 桓台网站建设公司最快的新闻发布平台
  • 做网站一个月20万免费的短视频app大全
  • 上海知名网站建设公司交易平台
  • 泰州哪里做网站网络推广好做吗
  • 好的网站首页建设公司济南网站建设公司
  • 网站开发语言统计百度官方推广平台
  • 辽宁省招标投标监管网合肥百度推广优化排名
  • 辽宁省招标投标监管网合肥百度推广优化排名
  • 京东网页版平台seo什么意思
  • 做magento网站杭州seo全网营销
  • 做magento网站杭州seo全网营销
  • 做测试题的网站百度不收录网站怎么办
  • 西乡城建局网站武汉百度推广seo
  • 北京自己怎么做网站整站优化深圳
  • 怎样把网站上传到服务器上微信营销
  • web网站开发技术路线seo优化什么意思
  • 河南公司网站制作咨询推广有奖励的app平台