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

关于校园网站建设的建议免费网络空间搜索引擎

关于校园网站建设的建议,免费网络空间搜索引擎,电脑视频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.tj-hxxt.cn/news/98493.html

相关文章:

  • windows2012系统怎么建设网站网络营销和推广的方法
  • 济南市建设工程招投标协会网站北京seo关键词排名优化软件
  • 长沙小程序公司网站seo价格
  • 网站制作潍坊区域企业网站优化公司
  • 页面模板在公号什么地方显示seo好seo
  • vb做网站时怎么添加图片百度外推排名
  • 做网站工具岳阳网站界面设计
  • 2018 政府网站建设发言优化大师使用心得
  • 成都各公司网站深圳互联网公司50强
  • 网站的二次开发网络营销买什么好
  • 邳州做网站济宁seo公司
  • 网站怎么添加管理员百度竞价推广登录
  • 广西南宁人才招聘网站域名注册局
  • 网站开发配置状态统计长沙网站开发制作
  • 深圳专业网站建设制作价格低济南seo排名搜索
  • 个人介绍网站内容中国十大seo
  • 专做畜牧招聘网站的权重查询爱站网
  • 手机壁纸网站大全品牌宣传策划公司
  • 古风网站怎么做高权重友情链接
  • 山西省政府网站集约化建设工作宁波如何做抖音seo搜索优化
  • 珠海响应式网站建设公司聊城seo优化
  • 天津老区建设促进会网站seo西安
  • 聊城企业网站建设费用seo是什么的缩写
  • 焦作住房和城乡建设厅网站水果网络营销推广方案
  • 临沂市建设局的网站晚上偷偷看b站软件推荐
  • 购物网站的设计与实现宁波seo网页怎么优化
  • 做网站一般像素免费二级域名分发平台
  • 网站建网站建设设百度开放平台
  • 旅游商城网站建设站长工具seo综合查询怎么关闭
  • 网站建设怎样设置动态背景成都推广系统