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

jsp网站开发要求wordpress 调用分类列表

jsp网站开发要求,wordpress 调用分类列表,erp系统入门教程,网站结构化数据make命令和 makefile 如果之前用过 vim 的话#xff0c;应该会对 vim 又爱又恨吧#xff0c;刚开始使用感觉非常的别扭#xff0c;因为这种编写代码的方式#xff0c;和在 windows 当中用图形化界面的方式编写代码的方式差别是不是很大。当你把vim 用熟悉的之后#xff0…make命令和 makefile 如果之前用过 vim 的话应该会对 vim  又爱又恨吧刚开始使用感觉非常的别扭因为这种编写代码的方式和在 windows 当中用图形化界面的方式编写代码的方式差别是不是很大。当你把vim 用熟悉的之后虽然没有刚开始那么别扭了但是当你在编写 一些大型项目的时候vim 怎么用都不习惯。 而 makefile就是一个可以定义一系列规则来指定那个文件先编译那个文件后编译哪些文件需要重新编译甚至进行更复杂的操作。 makefile 相对与 vim来说他可以实现--“自动化编译”一旦把 makefile 当中的各个文件的执行过程写好只好只需要一个 make 命令就可以让  由makefile 实现的各个文件的编译顺序 的整个工程 进行 完全自动的编译这极大的提高了软件开发的效率。 makefile 编写链接关系 和 链接方法  首先要明确的是 make 是一个命名它会默认在 本目录下寻找 名字叫做 makefile 或者 Makefile 也就是说首字母大不大写其实是无所谓的。 一般情况下makefile是创建在 源文件的 同级目录当前目录下创建的我们用一个小例子来看 makefile和 make 的使用过程 我们新建立一个文件夹mk在这个文件夹当中进行操作 此时这个文件夹当中什么都没有是空的我们创建一个 text.c 文件 然后 在其中简单些一些代码 此时就有了源代码文件然后我们建立的 makefile 文件要和 这个 源代码文件text.c文件在同级目录下 然后我们使用 vim 打开编译 makefile 文件在 makefile 文件当中进行以下书写 在 : 的右边是 与 makefile同级目录之下的某一个 源代码文件而在 : 的左边 是由右边的源代码文件 即将 生成的可执行文件这个在外部使用make 名字之后才会生成。 由上述过程我们就编译好了 text.c 这个源代码文件 由 makefile 生成可执行文件的过程。 此时我们只需要在 makefile 的同级目录下使用 make 命令就可以在 同级目录之下生成一个 text 的可执行文件 由上述结果可知使用 make 之后还会再屏幕上打印 编译过程。 我们把上述的 用 : 把源文件 和 对应可执行文件连接在一起的关系叫做链接关系。关于链接关系我们下述在具体说明。 但是上述我们只是写了 一个 链接关系并没有指定这个源代码要使用什么样的编译方式我们可以在 : 说明之后在下面把 编译规则写上 向上述就表示买吧 text.c 源代码文件 以 gcc 的方式编译成 text 可执行文件。我们把这个中方式叫做依赖方法。 注意此处的依赖方法我们可以看到前面是 空格开头的这里不能是空格分割必须使用 tab 键进行分割 往后我们先要编译 text.c 这个源代码文件的时候就可以不用再使用 gcc 命令来编译这个文件了直接在 上述同级目录之下使用 make 命令就可以直接生成 text 可执行文件。具体方式和上述演示是一样的这里就不演示了 makefile 编写 删除源文件 规则 当我们不想使用上述的 text 这个可执行文件时我们当然可以 用 rm 删掉 这个 text 可执行文件但是用 rm 删除文件的风险太大很容易写错文件名而导致删错文件要知道在 linux 当中可是没有 像 windows 当中的 回收站一样的东西在linux 当中删除某一个文件就是真的删除掉了。 所以在 makefile 当中不能只提供 编写 源代码文件 链接关系 和 链接方法还应该提供 删除的方式 我们可以在 其中写一个 类型 make 的命名向上述我就写了一个 make clean 的命令这个命令的名字是自定义的然后在后边写上 删除 text 这个可执行文件 在使用 make clean 这个命令之后在目录当中就没有 text 可执行文件了。 依赖关系 和 依赖方法 如上所示text:text.c 是一个依赖关系 gcc -o text text.c 是一个依赖方法那么这里的 依赖关系 和 依赖方法是什么呢 我们举一个例子小明 和 他的爸爸是一种依赖关系当小明向他的爸爸要零花钱的时候小明说“爸给我打100 块钱”类似的话语那么 小明 只有管他的爸爸叫爸这是一种依赖关系如果他问 他的室友的 爸爸给他打钱小明 和 他室友的爸爸 没有依赖关系那么 室友的 爸爸为什么要给 小明打钱呢 只有 小明 和 他父亲是一种依赖关系所以 小明 的爸爸 才会给他打钱 但是确定依赖关系之后已经确定是要打钱的了但是如何打钱微信还是支付宝还是 打 银行卡就要 有人去确定所以这时候 就有了打钱的方法也就是依赖方法。 那么换到 makefile 当中也是一样的text 和 text.c 是一种依赖关系只有通过 text.c 才能生成 text 可执行文件对于如何生成可执行文件如上述使用 gcc -o 的方式生成可执行文件。  当前的 text 依赖的是 text.c 这个一个源文件来生成的如果有 两个那么后面就跟两个三个就跟三个是依靠 这 text.c 一个源文件 生成的 text 可执行文件目标文件。所以就告诉 makefile 目标文件是 text这个text 依赖的文件是 text.c。但是光有依赖关系是不够的makefile还需要知道如何根据 text.c 文件生成 text 目标文件他也是需要知道的所以才有了 依赖方法。 关于make 指令 上述是有 text.c 文件一步到位生成的 text 可执行文件我们还可以写得更复杂一点把 c 源代码文件 生成可执行文件的整个过程都是 意义列举出来   此时 make 命令打印 而且发现此时在文件夹当中不止有 text 可执行文件了还有 上述生成的所有的中间文件 其实是因为在上述当中我们要想 从 text.o 文件 生成 text 可执行文件makefile 就要从当前目录之下来寻找 text.o 文件但是此时目录当中是没有 text.o 文件的所以他就会接着走链接关系发现 text.o 是由 text.s 生成的但是此时目录当中还是有 text.s他又会继续寻找链接关系发现是 text.i 生成的 text.s········一次类推。 最后找到 text.c 生成了text.i 然后逆向的一直生成到 最终的 目标文件 text 可执行文件。 也就是说makefile 的最终目的是要生成 目标文件而 目标文件的依赖关系 的 源文件他会先去看目录当中有没有有就直接生成没有的话就会去寻找 这个号源文件的依赖关系然后递归式的 去生成 目标文件的 依赖文件。  这个特征过程就特别像一个函数递归的过程。而上述的目标文件就是这个递归的 出口结束条件整个的结构在保存这些依赖关系的时候是一种栈式的结构。 而且上述过程不是需要按照 顺序来 书写 链接关系的就算是乱序都是可以 编译出来的 make 指令 当然虽然能 打乱顺序但是不能缺胳膊少腿一个工程当中的文件编译顺序缺一个他肯定是不能自动推导的   输出 总结make 命令 可以自动推导 makefile 的链接关系就算其中的顺序是打乱的只要存在就会自动推导。其中的依赖关系是利用栈式的结构进行存储的。 在上述你也发现了我们的 clean 指令写的是删除了4 个文件当我们在外部输入 make clean 的时候这个 4 个文件就都会删除非常的方便 注意make 的默认动作是 把 makefile 当中的第一个目标文件作为 make 的默认动作 比如上述把 clean 放到 text 目标文件的第一行的话那么我们使用 make 指令是不会执行 text 的而是执行 clean   使用 make 指令   如上述所示我们直接使用 make 指令直接执行的是 clean 指令而不是 生成 text 可执行文件。 而 make 目标文件名如上述的 make clean就是执行 在makefile当中的 目标文件。 在 本目录下 有 make 目标文件  的 目标文件时就不能再次 make 了 发现当目录当中没有目标文件的时候可以用 make 编译但是当有目标文件的时候就不能再次编译了但是当上述情况发生之后我们又去修改了 text.c 的代码发现make 有可以进行编译了 因为如果在第一次编译之后源代码没有进行修改那么是没有必要进行再次编译的提升效率。 我们在 windows 当中编写代码的时候有时候报错了但是我们已经进行修改了但是修改之后还是报错当我们重新生成解决方案之后程序又好了在期间我们没有修改过代码。其实原因就和上述是一样的有些编译器会帮我们去 辨别 当前代码有没有被修改过如果没有那么也就没有再次编译的必要了但是有的时候可能编译器判断不是很灵敏需要我们手动编译一下。 那上述的 不给继续编译和 判断源代码文件是否进行修改是如何做到呢 我们都知道可执行文件 是 在源文件的基础之上生成的先有源文件才有可执行文件所以一般而言源文件的最近一次修改时间 是要比 可执行文件要早的。 如果我们修改了源文件此时在目录当中还是有 可执行文件的那么源文件的实现一定要比可执行文件的晚。 所以只需要比较 可执行文件 的最近修改时间 和 源文件的最近修改时间 如果.exe 新于 .c 说明源文件是老的不需要重新编译。如果.exe 于旧 .c 说明源文件是新的需要重新编译。 对于 可执行 文件 和 源文件的 修改时间一般是不会一样的除非是用一些修改文件时间的命令。  stat命令验证make 利用 文件时间 差异 实现 新老文件判断文件的三个时间 stat命令 用于访问某一个文件的 时间问题那么可以使用 stat命令 来查看 源文件和 可执行文件的一些时间 最近访问时间就是访问了这个文件的最近一次时间比如 cat vim 都算是访问了这个文件。不管是你要 查看 还是 修改这个文件当中的内容都是要访问这个文件的所以 最近访问时间几乎是 你 对这个文件任何操作的 最近时间。这个 时间 更改的频率是非常高的。 文件内容修改时间就是文件当中存储的内容最近一次的修改时间。文件属性改变时间就是文件当中存储的文件的属性最近一次的修改时间。 上述的三个时间可能不是割裂的比如 修改了文件内容不仅是 Modify 会改变可能 Access 也会改变系统可能判定为当前一次操作就是 一个 文件的访问操作而且修改文件的内容 可能 会修改到 文件属性所以都不是割裂的。 现在我们修改一下文件的属性 发现文件的 Change 时间已经被修改了。  此时 Modif 和 Access 都没有被修改说明在当前系统下认为 chmod 命令不算做是一次文件的访问。 其实在早期的linux 当中 access 在上述情况是要被修改的但是也正是 Access 被修改的频率太高了所以如果有多个用户在修改访问这个文件那么 Access 都要被修改而 Access 被修改是要写进日志的文件还是在磁盘上保存的要修改 磁盘当中 Access 被修改的日志的话就是要频繁的修改磁盘当中的内容 这效率就太低了。 所以现在就减少了Access 修改的次数来变相修改操作系统的效率。 如果实在想要 修改这个文件的当中的所有的时间可以使用 touch  要修改的文件文件名 来实现。touch   目录当中不存在的文件名就是创建一个文件如果 touch   目录当中已经有的文件就是更新这个文件的 所以时间。 make 命令 就是把 两个文件 各种各样的时间转化成时间戳然后按照时间戳的大小来比较谁新谁旧。 验证 首先我们先用 make 编译一次打印出 源文件时间 和 可执行文件的文件内容时间   如上所示我们进行第二次编译是不行的此时 两个文件的时间如上所示 现在我们使用 touch 命令给 源文件更新时间使得 源文件的时间 比 可执行文件的时间要新 此时就可以进行 make 编译了。  makefile 当中的 .PHONY: 的使用 make 指令 会根据源文件 和 目标文件 的新旧判定是否需要重新执行依赖关系进行编译。编译不总是执行的。 如果想要在不能编译的情况下一定编译的话也就是让对应的依赖关系总是被执行就可以在 makefile当中操作 我们把 .PHONY 修饰的 目标文件称之为 伪目标。 我们不建议把 你需要的 生产的 目标文件修饰为 伪目标因为 有些编译器不是很友好重新编译的时候 可能不是删掉原本的可执行文件然后重新生成新的可执行文件可能是 不删除直接新增一个新的可执行文件。可能就会导致老的问题依旧还有。 我们一把 把上述写的 清理操作比如 clean 写成 伪目标。 makefile当中的特殊符号 在链接方法当中的: $ : 代表目标文件。如上述的 text$^ : 代表 右侧所属内容。如上述的 text.c 在 链接方法前 加  “” 符号可以让这个目标文件在生成的时候不答应生成过程
http://www.w-s-a.com/news/617377/

相关文章:

  • 江苏省工程建设信息网站一天赚1000块钱的游戏
  • 制作响应式网站报价品牌建设整体体系包括什么
  • 网站推广策划报告目前做win7系统最好的网站
  • 东莞网站建设咨询公江西网站建设平台
  • 什么是网站功能源码下载站
  • 石家庄制作网站的公司双柏县住房和城乡建设局网站
  • 影视vip网站建设教程ppt模板免费下载 素材红色
  • 内蒙古城乡建设部网站首页平台网站建设ppt
  • 集约化网站建设项目官方网站建设
  • 原创先锋 北京网站建设网站开发电脑内存要多少
  • 婚恋网站建设项目创业计划书网站建设 食品
  • 免费建网站代码查询做导员的网站
  • 做网站的软件电子可以看女人不易做网站
  • 学校响应式网站模板下载仙居住房和城乡建设规划局网站
  • 推广网站的方法有拍卖网站建设
  • 网站建设网站排名优化中国网站服务器哪个好
  • asp网站应用程序网站建设需要提供的资料
  • 网站开发与设计.net微信小程序设计制作
  • 怎样做网站排名优化展馆设计费取费标准一览表
  • 网站建设去哪可接单网站建设与设计大作业
  • 休闲咖啡厅网站开发目标韩国小清新网站模板
  • 做微景观的网站制作网页模板适应不同分辨率
  • 最简单的网站系统昨天军事新闻最新消息
  • 做ps网页设计的网站有哪些wordpress内容付费
  • 有没有免费注册域名的网站科技小制作 手工 简单
  • 网站支付端口win10优化大师怎么样
  • 怎么做云购网站吗网站流量监测
  • 网站被恶意刷流量可以翻外墙的浏览器
  • 网站做直链下载存储解决方案怎么把网站设置为主页面
  • 西安做网站招聘深圳网站见