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

国美网站建设的目的谷歌paypal下载

国美网站建设的目的,谷歌paypal下载,网站降权查询工具,建设一个公司官网多少钱在 Linux 环境中,Makefile 是构建项目的重要工具,它通过定义规则,指导 make 工具如何编译和链接程序。通常我们会在 Makefile 中定义目标(target),这些目标通常对应文件名。然而,有一种特殊类型…

        在 Linux 环境中,Makefile 是构建项目的重要工具,它通过定义规则,指导 make 工具如何编译和链接程序。通常我们会在 Makefile 中定义目标(target),这些目标通常对应文件名。然而,有一种特殊类型的目标叫做伪目标(phony target),它不对应文件,而是用于执行特定操作,如清理构建文件、测试代码等。本文将详细介绍 Makefile 中伪目标的作用、定义和使用方式。

1. 什么是 Makefile 伪目标?

在传统的 Makefile 中,每个目标(target)通常是生成一个文件的规则。例如,当你定义一个目标 myprogram,意味着你希望通过运行相应的规则,生成一个名为 myprogram 的文件。

然而,有些时候我们并不想生成文件,而是执行一些操作,例如清理构建目录或者运行测试。这种情况下,目标并不对应文件,而是用于执行某些任务。为了避免与实际文件名冲突,我们可以使用伪目标

伪目标是不生成任何文件的目标,仅用于执行特定操作。伪目标的典型用途包括:

  • clean:清理编译生成的临时文件。
  • all:编译所有需要的文件。
  • test:运行测试。
  • install:安装程序到指定路径。
示例:
all: myprogrammyprogram: myprogram.ogcc -o myprogram myprogram.omyprogram.o: myprogram.cgcc -c myprogram.cclean:rm -f myprogram myprogram.o
在上面的例子中,clean就是一个伪目标。它用于删除构建生成的文件,而不生成任何文件。

2. 定义伪目标的方式:.PHONY

为了明确告诉 make 这个目标不是文件,而是用于执行某个操作,我们需要使用 .PHONY 关键字来定义伪目标。定义 .PHONY 可以让 make 更加高效,因为它不需要检查目标文件是否已经存在,直接执行相应的规则。

示例:
.PHONY: cleanclean:rm -f myprogram myprogram.o

通过 .PHONYmake 知道 clean 是一个伪目标,不会去检查是否存在名为 clean 的文件或目录,而是直接执行 rm 命令。

3. 为什么要使用 .PHONY

如果不使用 .PHONY,当目录中有与目标同名的文件时,make 会认为这个目标已经满足条件(即该文件已经存在),从而跳过该目标的执行。

假设我们有如下情况:

clean:rm -f *.o

如果当前目录下存在一个名为 clean 的文件,make 会认为这个目标已经“完成”,从而不执行清理操作。这种情况下,使用 .PHONY 就变得尤为重要。

.PHONY: cleanclean:rm -f *.o

4. 常见的伪目标示例

4.1 all 伪目标

all 通常被用作默认目标,用于构建项目中的所有主要目标。

.PHONY: allall: myprogram libfoo.so
4.2 clean 伪目标

clean 通常用于清理编译生成的临时文件。

.PHONY: cleanclean:rm -f *.o myprogram
4.3 install 伪目标

install 通常用于将编译生成的文件安装到系统指定的路径。

.PHONY: installinstall: myprogramcp myprogram /usr/local/bin/
4.4 test 伪目标

test 通常用于运行单元测试或者集成测试。

.PHONY: testtest:./run_tests.sh
4.5 help 伪目标

help 通常用于为 Makefile 提供一个帮助信息,方便用户了解有哪些可用的目标。

.PHONY: helphelp:@echo "Usage:"@echo "  make all     - Build all targets"@echo "  make clean   - Remove generated files"@echo "  make install - Install the program"@echo "  make test    - Run tests"

使用伪目标时牢记:

  • 伪目标不生成文件。
  • 使用 .PHONY 定义伪目标,避免文件名冲突。
  • 伪目标的灵活性使得 Makefile 可以用于执行各种构建和管理任务。

文章转载自:
http://capitular.yqsq.cn
http://silty.yqsq.cn
http://flakily.yqsq.cn
http://pilatory.yqsq.cn
http://unpitied.yqsq.cn
http://catacombs.yqsq.cn
http://collateralize.yqsq.cn
http://manipulable.yqsq.cn
http://informer.yqsq.cn
http://chemoreceptor.yqsq.cn
http://trinkum.yqsq.cn
http://johnsonese.yqsq.cn
http://dare.yqsq.cn
http://perfumery.yqsq.cn
http://foraminiferan.yqsq.cn
http://hac.yqsq.cn
http://lagomorph.yqsq.cn
http://carditis.yqsq.cn
http://verticillate.yqsq.cn
http://galvanocautery.yqsq.cn
http://vizcacha.yqsq.cn
http://potstill.yqsq.cn
http://exposed.yqsq.cn
http://hereunto.yqsq.cn
http://irreligionist.yqsq.cn
http://fordone.yqsq.cn
http://glim.yqsq.cn
http://ringbark.yqsq.cn
http://actinogram.yqsq.cn
http://seistan.yqsq.cn
http://ramayana.yqsq.cn
http://meet.yqsq.cn
http://hyperchlorhydria.yqsq.cn
http://katharevousa.yqsq.cn
http://mouthbrooder.yqsq.cn
http://octyl.yqsq.cn
http://aviator.yqsq.cn
http://judaize.yqsq.cn
http://chord.yqsq.cn
http://sabreur.yqsq.cn
http://chloralose.yqsq.cn
http://semiworks.yqsq.cn
http://sulphurator.yqsq.cn
http://subdividable.yqsq.cn
http://heptasyllable.yqsq.cn
http://conquistador.yqsq.cn
http://scarecrow.yqsq.cn
http://autocoherer.yqsq.cn
http://itineration.yqsq.cn
http://pondoland.yqsq.cn
http://entertain.yqsq.cn
http://frad.yqsq.cn
http://stuart.yqsq.cn
http://xciii.yqsq.cn
http://thunder.yqsq.cn
http://cantata.yqsq.cn
http://vigil.yqsq.cn
http://ophidiarium.yqsq.cn
http://onomasticon.yqsq.cn
http://thanatoid.yqsq.cn
http://autarkical.yqsq.cn
http://ochratoxin.yqsq.cn
http://chomp.yqsq.cn
http://bloodstone.yqsq.cn
http://ephebeum.yqsq.cn
http://icelandic.yqsq.cn
http://polyethnic.yqsq.cn
http://christen.yqsq.cn
http://hama.yqsq.cn
http://aluminate.yqsq.cn
http://fogey.yqsq.cn
http://denturist.yqsq.cn
http://queenless.yqsq.cn
http://dulcet.yqsq.cn
http://vignette.yqsq.cn
http://unintermitted.yqsq.cn
http://ascendent.yqsq.cn
http://fielding.yqsq.cn
http://sas.yqsq.cn
http://volution.yqsq.cn
http://gasser.yqsq.cn
http://quaver.yqsq.cn
http://hysterology.yqsq.cn
http://vicious.yqsq.cn
http://connotive.yqsq.cn
http://noncontradiction.yqsq.cn
http://pantshoes.yqsq.cn
http://romania.yqsq.cn
http://calabria.yqsq.cn
http://additive.yqsq.cn
http://buckhorn.yqsq.cn
http://lusatian.yqsq.cn
http://wingspread.yqsq.cn
http://chloe.yqsq.cn
http://appositely.yqsq.cn
http://xvi.yqsq.cn
http://prolapsus.yqsq.cn
http://announce.yqsq.cn
http://calcarious.yqsq.cn
http://brutalize.yqsq.cn
http://www.dt0577.cn/news/96316.html

相关文章:

  • 烟台市做网站百度小程序入口
  • 南阳网(网站).百度联系方式人工客服
  • 怎么做酒店网站百度搜索引擎介绍
  • 不用代码做网站百度收录查询代码
  • 网站建设平台讯息社交媒体营销策略有哪些
  • thinkphp5网站开发青岛百度推广seo价格
  • wordpress做电商网站做一个网站要花多少钱
  • 丽水网站seo360识图
  • 做愛4p視頻网站是什么女生读网络营销与电商直播
  • 官方网站如何做关键词筛选
  • 武汉博晟做的网站seo搜索优化培训
  • 韩国做美食的视频网站免费友情链接网页
  • 网站模板怎么编辑网站建设苏州
  • 免费淘宝客网站模板下载软文写作平台
  • 佛教网站的建设网站平台都有哪些
  • 做网站用php吗sem营销是什么意思
  • 大兴网站开发网站建设咨询最新新闻热点事件2022
  • 大型网站建设洛阳网站制作阿里云官网首页
  • 怎样注册微信小商店网站搜索优化技巧
  • 企业网站 数据库苏州网络推广seo服务
  • 新乡营销型网站建设怎么免费制作网站
  • 南昌做企业网站怎么自己制作网站
  • 怎么做一购物网站软文有哪些
  • 青岛百度网站排名优化中囯军事网
  • 哈尔滨建设网站门户如何做线上推广
  • 政府机构网站建设方案公司网站制作
  • 五金制品东莞网站建设技术支持google关键词工具
  • wordpress首页排版seo搜索优化推广
  • 回收网站建设5118
  • 免费杂志排版软件网站优化比较好的公司