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

手机网站开发语言东莞微网站建设费用

手机网站开发语言,东莞微网站建设费用,wordpress 非小工具形式 微博秀,网站建设项目组工作总结目录 前言 一、是什么#xff1f; 二、怎么样的#xff1f; 三、原理及细节 图解代码 细节1#xff1a;make工作规则 ①依赖文件存在 ②依赖文件不存在 ③依赖文件列表为空(特殊) .PHONY关键字 细节2#xff1a;makefile识别程序需要重新编译#xff1f; 四、…目录 前言 一、是什么  二、怎么样的  三、原理及细节 图解代码 细节1make工作规则 ①依赖文件存在 ②依赖文件不存在 ③依赖文件列表为空(特殊) .PHONY关键字 细节2makefile识别程序需要重新编译 四、常用makefile写法  ①内置符号法 ② 变量替换法 前言 前面在认识gcc/g中我们知道编译代码并形成可执行程序的指令为gcc xxx.c -o xxx 。但是呢这样对于少量源文件来说还好可是对于一个真正的工程项目源文件是不计其数的一个一个的编译未免有些许麻烦有没有什么更加快速的方法呢肯定有不然我也不会写这篇文章的对吧来看看今天的主角make与makefile用完你会爱上的 一、是什么  make就是单纯的一个命令是一个解释makefile中指令的命令工具。。makefile就是一个单纯的文件但是内容一旦写好只需要make命令整个工程完全自动化编译可以大大提高开发的效率make和makefile搭配使用以完成项目的自动化构建。。 二、怎么样的  看看实例代码 先创建一个简单的C代码如下 建一个简单makefile文件如下 完成编译工作 可以看到只需要一个make命令就能完成编译工作并形成可执行程序。。这就不需要每次编译源文件的时候都输入gcc xxx.c -o xxx这样一长串指令效率提高了很多 完成清理工作 可见make会根据makefile的内容完成编译/清理操作十分的nice 大家估计会有疑问为什么编译工作仅仅用make一条命令而清理用make clean接着往下看 三、原理及细节 图解代码 依赖文件列表 ①可以同时存在多个源文件以空格为分隔符如test.c test1.c ....... ②还可以为空比如下面的清理操作clean这是一种特殊的依赖关系 依赖关系 目标文件的形成依赖于后面文件列表这就构成了依赖关系。如上述的test.exetest.cclean  。(特殊) 依赖方法 目标文件形成的所依赖的方法也就是光有依赖关系还不够还得需要对应的方法才能实现。。如上述的gcc以及rm操作就是依赖方法。。 此时上述的过程可以这样理解使用make命令时会在当前目录下寻找makefile文件读取里面的内容并根据依赖关系去找到对应的依赖方法并执行生成对应的目标文件 细节1make工作规则 默认情况下单单使用make命令是从上往下读取文件的 默认执行第一对依赖关系和依赖方法其他的不管形成的是第一个目标文件 ①依赖文件存在 先看演示 当前目录下的文件 makefile文件内容 make一下看结果 会发现此时执行顺序是从下往上的不是说仅仅使用make命令时从上往下读只会执行第一对依赖关系吗         是的没错还是从上往下读执行第一对依赖关系但是因为第一对依赖关系中的依赖文件test.o并不存在于当前目录那么此时make会在当前文件中找目标文件为test.o的依赖关系发现依赖文件test.s也并不存在以此类推最后推导发现依赖文件test.c存在就执行对应的依赖方法在从下往上。如果推导至最后发现还是没有文件那么此时的make就会直接退出并报错 ②依赖文件不存在 注意这种情况下的不存在不是为空哦 演示 当前目录下的文件 makefile中的内容 code.c文件并不在该目录下来看结果 可见当依赖文件不存在时make就不工作了 ③依赖文件列表为空(特殊) 看演示 将上述的clean操作放在test.exe前面 看结果 从上往下读取但是碰到依赖文件为空时会直接执行对应的依赖方法。。不会再向下推导了。。也就是make将这种情况也视为依赖文件存在的情况。。 那么此时如果要执行生成其他的目标文件那就需要带上对应目标文件的名称 所以我们一般习惯上把形成可执行程序的目标文件放在第一位文件的清理工作放在其他的位置这也是开头演示时为什么使用make clean命令的原因 小总结 make会自动根据文件的依赖性进行自动推导帮助我们执行所有相关的依赖方法 .PHONY关键字 .PHONYxxx xxx对应的依赖方法总是要被执行的 来看对比 无该关键字时 可以看到只能make一下当你连续make多次是无法实现的因为makefile对最新生成的可执行程序默认不会在重新生成这样可以提高编译的效率除非你更新可执行程序所依赖的源文件时才可以重新make 但是可以加上.PHONY关键字就能打破这种限制 如下图 结果 但是实际上对于生成可执行程序的一般不用这个关键字去修饰这样编译效率不高对于一个大工程而言默认情况都是用于修饰clean这样的项目清理文件。。让清理工作总是被执行 细节2makefile识别程序需要重新编译 实际上就是对比源代码和可执行程序最近一次形成或修改时间谁是最新的。 如果源文件是最新的说明刚完成更改需重新编译允许make可执行程序是最新说明不需要重新编译不允许make 先有的源文件编译才能形成可执行程序所以源文件和可执行程序形成和修改的时间一定不一样除非特意修改 这就是为什么不能连续make的原因 但是有一点要注意 对于那些没有依赖文件的目标文件就没有这种限制比如上述的clean清理工作它就可以无限make爱咋咋地 四、常用makefile写法  对于上面的依赖方法的写法还是有点麻烦还是要写gcc xxx.c -o xxx。小文件还行来看以下两种写法。 ①内置符号法 $^:代表依赖文件 $:代表目标文件 执行结果也是一样 注意对于清理文件不能用内置符号。 ② 变量替换法 执行结果 这东西和宏类似只需要改变上面变量的值就可以了很方便 补充 每次我们在make时都会有gcc……这条指令显示出来如果不想显示可以这样改 在依赖方法前加上符号即可。 好了兄弟们今天的分享就到这里如果觉得对你有所帮助欢迎点赞关注收藏
http://www.w-s-a.com/news/996888/

相关文章:

  • 休闲采摘园网站建设政务公开和网站建设工作的建议
  • 长沙网站建设哪个公司好PHP amp MySQL网站建设宝典
  • 代码编辑器做热点什么网站好湛江网站建设哪家好
  • php网站开发概念网站开发岗位职责任职责格
  • asp 网站源码 下载西安自适应网站建设
  • 白领兼职做网站贵阳网站设计哪家好
  • 热水器网站建设 中企动力企业网站开发需要多钱
  • 北京市建设工程信息网交易网站静态网页模板免费下载网站
  • 福田欧曼服务站网站前台设计
  • 网站做系统叫什么软件吗注册域名需要实名认证吗
  • jsp网站开发教学视频ui设计风格
  • 注册网站建设开发怎么自己做导航网站
  • 设计做网站品牌咖啡主题网页界面设计
  • 个人网站制作总体设计宿迁房价2023年最新房价
  • 服装网站建设进度及实施过程马鞍山网站设计制作
  • 郑州网站优化顾问济宁网站制作
  • 网站开发简单吗网站引导页分为三个板块设计风格
  • 湖南做网站 在线磐石网络百度一下百度搜索
  • 现在建网站多少钱推广营销费
  • 联想企业网站建设的思路西安网站建设阳建
  • 网站内容 内链网站建设电话销售工作总结
  • 系统网站开发知名的摄影网站有哪些
  • 网站拍照的幕布扬中网站建设价位
  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站