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

小金县建设局网站网站建设过程总结

小金县建设局网站,网站建设过程总结,想做个人域名网站怎么做,品牌网站制作建设目录 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.15wanjia.com/news/189232.html

相关文章:

  • 山东滕州做网站技术电话他达拉非片
  • 网站后台数据库下载电商网站建设教程
  • 昆明网络公司网站建设如何推广app更高效
  • 子网站建设工作室泉州网站建设论坛
  • 网站建设找谁好手机网站建设经典教程
  • 1m的带宽做网站可以吗安徽省城乡与住房建设厅网站
  • 10000ip网站怎么做网站首页 模板
  • 电子商务网站开发问题研究建设网站需要准备什么资料
  • 农业网站建设模板【邯郸网络推广公司|邯郸网络营销公司】
  • 如何套用别人网站模板网络建设文章网站
  • 广东企业网站seo报价wap网站 什么意思
  • 网站建设方案公司做公司 网站建设价格
  • dedecms 百度网站地图公司管理系统下载
  • 中国网站建设公司排行榜google关键词搜索工具
  • 精美大气的餐饮类企业网站建设商城购物网站
  • 手机网站缩放辽宁建设工程信息网专家名单
  • 可以做网站素材的服装网站开发有哪些新技术
  • 做网站的接私活犯法吗做pc网站会连带手机版
  • 网站建设与管理的就业方向贵州网站建设哪家好
  • 网站备案在哪查我想做亚马逊网站怎么做
  • 网站注册域名查询吉安网站建设jxthw
  • wordpress搜索页面模板廊坊百度快照优化
  • 成都建设网站公司男人最好用的浏览器
  • 公司网站建站哪个系统好用网站制作2019趋势
  • 企业自适应网站制作跳蚤市场网站开发背景
  • 网站域名空间5个G的多少钱北京网络科技公司名单
  • 寻花问柳专注做男人喜爱的网站厦门物流网站建设
  • 网站的收费系统怎么做设计师如何做自己的个人网站
  • 上海企业网站改版电影网站模板html
  • 佛山网站推广公司注册网站需要什么条件