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

福建省建设厅网站官网《建设监理》网站

福建省建设厅网站官网,《建设监理》网站,wordpress外贸建站主题,无锡嘉饰茂建设网站的公司目录 Linux项目自动化构建工具 – make/Makefile 背景 依赖关系和依赖方法 多文件编译 项目清理 make原理 Linux项目自动化构建工具 – make/Makefile 背景 一个工程的源文件不计其数 按照其类型、功能、模块分别放在若干个目录当中 Makefile定义了一系列的规则来指定哪些文件需要先编译 哪些文件需要后编译 甚至于进行更复杂的功能操作会不会写Makefile 从侧面说明了一个人是否具备完成大型工程的能力Makefile带来的好处就是“自动化编译” 一旦写好 只需一个make命令 整个工程完全自动编译 极大的提高了软件开发的效率make是一个命令工具 是一个解释Makefile当中指令的命令工具 一般来说 大多数的IDE都有这个命令 例如Delphi的make VisualC的nmake Linux下GNU的make 可见 Makefile都成为了一种在工程方面的编译方法make是一条命令 Makefile是一个文件 两个搭配使用 完成项目自动化构建 依赖关系和依赖方法 在使用make/Makefile前我们首先应该理解各个文件之间的依赖关系以及它们之间的依赖方法 依赖关系 文件A的变更会影响到文件B 那么就称文件B依赖于文件A 这里的mytest.c文件 只要它改变了的话 test.i test.s test.o 可执行文件都会发生变化 所以我们说后面的这些文件是依赖于test.c 当然如果要是进一步细分的话 我们还可以说 test.s 是依赖于 test.i的 test.o是依赖于 test.s的 依次类推 依赖方法 如果文件B依赖于文件A 那么通过文件A得到文件B的方法 就是文件B依赖于文件A的依赖方法 test.c ------------------ test.igcc -E test.c -o test.i test.c经过某种方法变成了 test.i 那么我们就可以说这个方法是依赖方法 多文件编译 当我们的工程中有多个源文件的时候我们应该怎么进行多文件编译呢 有两种方法 1. 我们可以直接使用gcc对两个文件进行编译 生成一个可执行文件 gcc main.c test.c -o mytest.c 我们一般不这么做 一旦多个源文件中有一个改变了我们就需要将所有的源文件重新编译链接 2.每个源文件各自生成自己的二进制文件 然后再将这些二进制文件通过链接生成可执行程序 这样子就算是一个源文件需要修改我们只需要重新编译它的二进制文件 gcc -c main.c -o main.ogcc -c test.c -o test.o 之后我们将这两个二进制文件链接 gcc test.o main.o -o mytest 这里有一个注意点 我们链接的时候并不需要主动去链接头文件 因为编译器会自动识别我们使用#include 包含的头文件 随着源文件的增多 我们每次需要敲的指令就会变得很长 为了方便我们的操作我们这里就可以使用 make/makefile 首先在源文件所在目录下创建一个名为Makefile/makefile的文件 之后我们便可以开始编写makefile文件 mytest:mytest.c gcc mytest.c -o mytest -stdc99.PHONY:clean clean:rm -f mytest开始使用make进行编译 Makefile文件的简写方式 $表示依赖关系中的目标文件冒号左侧$^表示依赖关系中的依赖文件列表冒号右侧$表示依赖关系中的第一个依赖文件 mytest:mytest.c gcc -o $ $^ .PHONY:clean clean:rm -f mytest项目清理 每次运行结束之后都要我们手动清理未免有点太麻烦了 刚好我的makefile支持这个功能 它的语法格式是这样子的 .PHONY:clean clean:rm -f mytest .PHONY修饰后面的东西我们一般把他称为伪目标 什么是伪目标? 伪目标就是总是可以被执行的目标 make原理 make会在当前目录下找名字为“Makefile”或“makefile”的文件如果找到 它会找文件当中的第一个目标文件 在上面的例子中 它会找到mytest这个文件 并把这个文件作为最终的目标文件如果mytest文件不存在 或是mytest所依赖的后面的test.o文件和main.o文件的文件修改时间比mytest文件新 那么它就会执行后面的依赖方法来生成mytest文件如果mytest所依赖的test.o文件不存在 那么make会在Makefile文件中寻找目标为test.o文件的依赖关系 如果找到则再根据其依赖方法生成test.o文件类似于堆栈的过程如果test.c文件和main.c文件是存在的 make会生成test.o文件和main.o文件 然后再用test.o文件和main.o文件生成最终的mytest文件make会一层又一层地去找文件的依赖关系 直到最终编译出第一个目标文件在寻找的过程中 如果出现错误 例如最后被依赖的文件找不到 那么make就会直接退出 并报错
http://www.hkea.cn/news/14266384/

相关文章:

  • 成都网站建设公司优势seo优化排名易下拉试验
  • 电商购物网站网站的动效怎么做的
  • 佛山牛豹云网站开发app开发公司大连有几家
  • 网站建设与管理就业方向wordpress 如何添加模板文件
  • 国际网站怎么进湖北网站建设找哪家
  • 贵阳网站制作服务商成都旅游季节最佳时间是几月份
  • 营销型企业网站的建设方案老闵行发展
  • 网站中的搜索功能怎么做静态网页生成器
  • 如何选择顺德网站建设石家庄招标信息网
  • 帮别人做网站用织梦模板行吗wordpress数据库清理
  • 网站title优化网站开发信息发布
  • 东莞市电商网站建设wordpress自定义页面分页
  • 网站建设中长出现的问题番禺网站排名优化公司
  • 大气医院网站源码关键词排名点击器
  • 西昌手机网站前端开发就业前景
  • 正规网站建设排行哪里能注册免费的网站
  • 长沙制作手机网站的公司春节网站设计
  • 建设网站需要多大域名空间网线制作注意事项
  • 网站定制电话wordpress ashley
  • 上哪儿找做网站网站建设市场前景如何
  • wordpress设置后台信息重庆seo是什么
  • 特色食品网站建设策划书优秀的网站有哪些内容
  • 网站建设珠海 新盈科技公司侯马市网站建设公司
  • 网站做轮播图的意义企业网站建设需要多钱
  • 沈阳网站推广的公司项目管理软件worktile
  • 用html5做的网站素材闽侯县建设局网站
  • 国外有什么优秀的网站推荐南京栖霞区有做网站的吗
  • 网站域名没有实名认证佛山网红公寓
  • 做搜索引擎网站c 网站开发项目教程
  • 哪家做网站最便宜网站管理系统软件