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

芯港小镇建设管理中心网站京东商城企业网站建设分析

芯港小镇建设管理中心网站,京东商城企业网站建设分析,南阳网站建设培训班,wordpress回复页面make/Makefile使用介绍 make是一个命令makefile是一个在当前目录下存在的一个具有特定格式的文本文件 ​ 下面我们设计一个场景#xff0c;实现make命令对我们code.c文件进行编译和删除。 1 #includestdio.h 2 3 int main() 4 { 5 printf(hello,world!…make/Makefile使用介绍 make是一个命令makefile是一个在当前目录下存在的一个具有特定格式的文本文件 ​ 下面我们设计一个场景实现make命令对我们code.c文件进行编译和删除。 1 #includestdio.h 2 3 int main() 4 { 5 printf(hello,world!\n);6 return 0; 7 } ​ 以下是makefile的内容 1 myexe:code.c //依赖关系2 gcc code.c -o myexe //依赖方法3 .PHONY:clean //clean是伪目标4 clean: //可不写依赖目标5 rm -f myexe //依赖方法​ .PHONY修饰的是伪目标意思是总是被执行的依赖方法总是会被执行不会被任何情况拦截想执行就执行。我们在命令行输入make就可以对code.c文件进行编译生成myexe可执行文件make clean就可以删除生成的可执行文件myexe。现实中有了依赖关系和依赖方法就可以描述清楚一件事情的原因和做法达到我们的目标。 ​ ​ make后面跟着目标只有make就会执行第一个扫描到的目标的依赖方法。如果我们连续两次make就会发现报错。 ​ ​ 原因是我们对code.c编译过一次后并没有对原文件进行修改重新编译也是浪费时间和资源所以就不会再帮我们重新编译了。但如果我们对myexe加上.PHONY修饰的话就可以无视拦截。 ​ 这种拦截可以提高编译效率对于大型项目如果我们只修改了一个小文件就要把整个项目重新编译一遍就有点浪费时间了这种情况下只需要重新编译修改了的文件即可。大部分情况下没问题问题的产生不仅仅是修改新文件就能解决的有些历史问题需要重新清理项目才能解决。 ​ 那么问题来了编译器怎么知道我们有没有修改文件呢 本质是对比源文件和可执行文件的修改时间因为一定是现有源文件才有可执行文件当源文件的修改时间 可执行文件的修改时间就说明没有更改反之则说明更改了源文件内容 文件的ACM时间 ​ 一个文件有三种时间文件内容属性 Access最近一次读取文件的时间Modify最近一次修改文件内容的时间Change最近一次修改文件属性的时间 ​ 关于ACM时间变化的细节 一般情况下Modify更改会带动Change一起更改因为Modify更改会发生文件大小的改变就相当于更改了文件属性。更改文件的权限此时Change也会变化因为这些都是对文件属性的更改。 Access时间理论上只要是我读取/打开了文件就会发生变化但实际并不如此这里有两种情况 读取/打开好几次文件Access才会发生变化只有修改了文件内容再读取/打开Access才会发生变化 造成这种现象的原因是一个文件被查看的频率非常高每次查看都要更改Access本质就是访问磁盘如果是这样那么Linux系统就会充满大量访问磁盘的IO操作变相降低系统效率所以就对文件的Access时间的更改进行了一些限制 ​ touch [文件名]可以在不更改内容的情况让文件的时间变成最新的。 make/Makefile拓展 推导性 make/makefile具有推导能力如果当前目标依赖的文件不存在则会向下搜索去找以依赖文件为目标文件的依赖文件一直套娃直到某一个目标文件的依赖文件存在就逐步往回执行依赖方法如果搜索完了也没有找到就会退出并报错。 变量 makefile里可以设置变量也可以对变量重新赋值 1 srccode.c //定义变量2 targetmyexe3 ccgcc4 5 6 $(target):$(src) //(变量名)7 $(cc) $(src) -o $(target) 8 .PHONY:clean9 clean:10 rm -f myexe其他 makefile对于目标文件和依赖目标可以用特定符号表示 1 myexe:code.c2 gcc $^ -o $ //$^代表冒号右边所有文件$代表冒号左边所有文件3 .PHONY:clean4 clean:5 rm -f myexemake和make clean的时候每次都会有打印出指令比较显眼在依赖方法前加上即可不显示指令以及可以写多条依赖方法 1 myexe:code.c2 gcc $^ -o $3 echo 编译文件 4 .PHONY:clean 5 clean: 6 rm -f myexe 7 echo 清理文件​ 以上语法拓展也可以组合使用。
http://www.w-s-a.com/news/540591/

相关文章:

  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的
  • 网站排名影响因素最牛的科技网站建设
  • 长春网站建设公司怎么样电商网站建设与开发期末考试
  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌
  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站
  • 做网站的股哥网络整合营销方案策划
  • 网站你懂我意思正能量晚上唯品会网站开发费用
  • 网站认证金额怎么做分录网页无法访问是怎么回事
  • 樟木头建网站的wordpress自适应吸附菜单
  • 番禺网站设计威海微网站建设
  • 新乡网站建设服务网站建设的点子
  • 赛罕区城乡建设局网站什么是新媒体运营
  • 松原企业网站建设设计素材网排名
  • 网站建设是那个行业广东公司排名
  • 制作网站要多少钱seo是如何优化
  • 求个网站2020急急急做金融网站拘留多久
  • 网站后台管理系统怎么进seo网络推广外包公司
  • 中山市 做网站网站建设如何上传文件
  • 网站呢建设公众号制作要求