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

扶沟县网站开发福州网站seo公司

扶沟县网站开发,福州网站seo公司,wordpress主题viue安装,请别人做网站make是一个命令工具,用于读取并执行名为Makefile(makefile)的文件中定义的规则。 Makefile是一个文本文件,它告诉make哪些文件依赖于其他文件,以及如何从这些依赖项生成最终的目标文件。 我们先简单看一下使用make的…

make是一个命令工具,用于读取并执行名为Makefile(makefile)的文件中定义的规则。

Makefile是一个文本文件,它告诉make哪些文件依赖于其他文件,以及如何从这些依赖项生成最终的目标文件。

我们先简单看一下使用make的示例:

首先我们先创建一个源文件,然后在里面简单写一下代码。

然后,我们创建Makefile文件,并在文件中写入:

当我们输入make时,就会执行Makefile中的相应命令:

接下来详细讲解Makefile中写入的各个部分。

上面示例中的test是目标文件,冒号后边是依赖文件列表,依赖文件可以有多个,在上面示例中只有test.c一个,也就是说test文件是依赖test.c文件生成的。

第二行gcc -o test test.c命令是使用gcc编译test.c文件,第二行其实就是依赖方法,我们要生成test目标文件,既需要依赖关系,也需要依赖方法,第二行便是依赖方法,需要注意的是,前边要按table键。同样的,也可以有多个依赖方法,在上面示例中只有一个。

接下来的三行又是一组,首先.PHONY是用来声明一个伪目标的,后边的clean便是伪目标的名称。下一行的clean:同样也是依赖关系,只是比较特殊,依赖文件列表为空,rm -f test则是依赖方法。

在上面的示例中我们可以看到,当我们输入make后,就自己显示相应的依赖方法了,make后边是可以跟相应的目标文件的,最后就会执行依赖方法中的指令,当我们要重复多次输入某一指令时,就可以用make来方便自己。当make后边不加目标文件时,默认就是第一个目标文件,如上面示例中make后执行的是gcc指令。

关于.PHONY的具体作用,我们先演示效果,再讲解:

上面示例时:

当加上.PHONY:test并删除.PHONY:clean时:

可以看到,对于test来说,没加上.PHONY时,make是不能被多次执行的,而加上后是可以被多次执行的,.PHONY的作用就是让目标文件对应的方法总是被执行,但是,clean为什么在两次执行过程中都可以多次被执行呢?这个跟时间有关系,没加.PHONY时,多次使用make会提示已经是最新的了,所以它不会再次编译,而rm指令由于与时间无关,所以每次都可以被执行。

我们再来看一个演示:

当前还是不能执行多次make,然后我们再进入到test.c中,并对其内容进行修改,再次执行make时发现可以了。

为什么有时候需要重新编译,但是有时候又不需要呢?

答案是:根据对比文件的Mtime来确定的。

通过stat指令可以查看Mtime:

可以看到有三个时间,即Access、Modify和Change,Access 是文件被访问的时间,Modify是文件内容最近被修改的时间,Change是文件属性最近被修改的时间。在上面例子中,我们在test.c文件中加了一条语句,所以修改了其Mtime,每一次编译生成可执行文件后,也会有一个Mtime,这个时间是比源文件的时间晚的,但是当我们修改文件后,其时间比原来生成的可执行文件的时间晚,所以就又可以重新编译了,即通过比较Mtime来确定是否要重新编译。

我们再来看下一个示例:

在这个示例中,test依赖于test.o,而test.o又依赖于test.s,而test.s依赖于test.i,test.i依赖于test.c,test.c是存在的,所以找到后执行依赖方法,然后逐步递归构建test,也就是说,make解释Makefile时是会自动推导的,一直推导,推导过程不执行依赖方法,直到推导到有依赖文件存在,然后再逆向执行所有的依赖方法。

其他:

在Makefile中,%是通配符,%.o:%.c则是表示任何.c文件都可以生成对应的.o文件,即将当前目录下的所有.c文件都展开在依赖列表中。$<则是表示将依赖文件一个一个交给gcc -c选项,形成同名的.o文件。

下一个示例:

Makefile中也可以定义变量,上面的bin和src便是变量,$(bin)就是test,$(src)就是test.o,$^表示所有的依赖文件列表,这里指的就是test.o,$@代表目标文件,也就是test。

其实Makefile就是指令,执行make后会执行Makefile中写入的相应指令,如果我们不想让这些指令回显,可以在前面加上@:

另外,注释是用#。

http://www.hkea.cn/news/603452/

相关文章:

  • 培训教育的网站怎么做东莞做网站的联系电话
  • 云南做网站的公司外贸谷歌优化
  • 网页设计学徒培训可试学巢湖seo推广
  • 让顾客心动的句子seo模拟点击软件源码
  • 设计类专业包括哪些kj6699的seo综合查询
  • 手机网站制作哪家好查关键词
  • 米拓企业网站管理系统电商培训机构排名前十
  • 做效果图有哪些网站seo点击排名
  • 网络营销推广网站收录seo推广排名平台有哪些
  • 产品经理如何看待网站开发广州软件系统开发seo推广
  • wordpress 忘记管理员如何做网站seo
  • app和网站哪个有优势淘宝关键词排名
  • wordpress该域名宁波网站seo公司
  • 建购物网站怎么建呀简单的网站建设
  • 江苏省建设教育协会网站首页百度知道合伙人答题兼职入口
  • 做优化的网站平台搭建
  • 做网站需要多久网络推广是什么专业
  • 厦门加盟网站建设线上推广营销
  • 定制网站案例seo搜索引擎优化薪酬
  • 网站制作成功后怎么使用浏览器观看b站视频的最佳设置
  • 一家专门做开网店的网站北京seo专员
  • 专业企业网站搭建服务头条权重查询
  • 去哪儿网站上做民宿需要材料免费的黄冈网站有哪些平台
  • 网站建设网现在推广什么app最挣钱
  • 嘉兴装修公司做网站安装百度到桌面
  • 电商网站特点外贸营销网站建站
  • 上海市住房城乡建设管理委员会网站网络营销软文范例大全800
  • 莱芜区政协网站做网络优化的公司排名
  • 太原网站建设开发公司电商运营基本知识
  • php做企业网站seo网站推广企业