欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    你了解Makefile的内嵌函数?.doc

    • 资源ID:3381548       资源大小:24KB        全文页数:5页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    你了解Makefile的内嵌函数?.doc

    你了解Makefile的内嵌函数?subst字符串替换函数$(subst , , ),把中的字符串替换成,返回被替换过的字符串SRC:=/mnt/hgfs/share/123DES:=$(subst /mnt,/root,$(SRC) #ATTENTION:是,/root不是, /rootall: echo $(SRC) echo $(DES)/mnt/hgfs/share/123/root/hgfs/share/123patsubst模式字符串替换函数$(patsubst , , ),查找中的单词(单词以 空格,Tab,回车 分隔)是否符合模式,符合的话,则以替换,这里,可以包括通配符 % 表示任意长度的字符串,如果中也包含 %, 则 中的这个 % 将是 中的那个 % 所代表的字符串SRC:=/mnt/hgfs/share/123DES:=$(patsubst %/123,%/456,$(SRC)all: echo $(SRC) #Note:shell可不支持 echo $(DES)/mnt/hgfs/share/123/mnt/hgfs/share/456strip$(strip a b c)把字符串去掉开头和结尾的空格,结果是 “a b c”DES:=$(strip 12,43 ) #参数字符串是从1开始的,能去掉最后一个空格DES:=$(strip “ 12,43 ”) #参数字符串是从空格开始的,能去掉最后一个空格all: echo $(DES)/mnt/hgfs/share/123 12,43findstring查找字符串函数$(findstring , ),在字符串中查找,如果找到,就返回,否则返回空SRC:=/mnt/hgfs/share/123DES:=$(findstring /mnt,$(SRC)all: echo $(SRC) echo $(DES)/mnt/hgfs/share/123/mntfilter过滤函数$(filter , ),以模式过滤字符串的单词,保留模式的单词,可以有多个SRC:= 123.c 789.c 456.s eee.j#DES:=$(filter %.c,%.s,$(SRC) #WRONG!DES:=$(filter %.c %.s,$(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j123.c 789.c 456.sfilter-out反过滤函数$(filter-out ,),以模式过滤字符串的单词,去除模式的单词,可以有多个SRC:= 123.c 789.c 456.s eee.jDES:=$(filter-out %.c,$(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j456.s eee.jsort排序函数$(sort ),给字符串中的单词(不是字符)按升序排序SRC:= 123.c 789.c 456.s eee.jDES:=$(sort $(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j123.c 456.s 789.c eee.jword$(word ,)取单词函数,取字符串中的第个单词,返回字符串中的第n个单词,如果n比中的单词要大,那么返回空字符串SRC:= 123.c 789.c 456.s eee.jDES:=$(word 2,$(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j789.cwordlist取单词串函数$(wordlist , , ),从字符串中取从开始到的单词串,和是一个数字,返回取出的单词串,如果s大于,那么返回空,如果e大于,则返回从s开始到结尾的字符串SRC:= 123.c 789.c 456.s eee.jDES:=$(wordlist 2,4,$(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j789.c 456.s eee.jwords单词个数统计函数$(words ),返回单词数SRC:= 123.c 789.c 456.s eee.jDES:=$(words $(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j4firstword首单词函数$(firstword ),返回的第一个单词SRC:= 123.c 789.c 456.s eee.jDES:=$(firstword $(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j123.cdir取目录函数$(dir ),从每个name中取出目录部分,返回文件所在目录,如果没有/,则返回。/SRC:=/mnt/hgfs/share/123DES:=$(dir $(SRC)all: echo $(SRC) echo $(DES)/mnt/hgfs/share/123/mnt/hgfs/share/notdir取文件函数$(notdir ),从每个name中取出文件部分,返回文件名,如果没有文件,返回空。这里的name必须是变量名,不能是变量的内容,否则什么都不会返回SRC:=/mnt/hgfs/share/123DES:=$(notdir $(SRC)all: echo $(SRC) echo $(DES)/mnt/hgfs/share/123123suffix取后缀函数$(suffix ),从文件名序列中取出各个文件的后缀,返回后缀,如果没有后缀,返回空SRC:= 123.c 789.c 456.s eee.jDES:=$(suffix $(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j.c .c .s .jbasename取前缀函数$(basename ),从文件名序列中取出各个文件的前缀,返回前缀,如果没有前缀,返回空SRC:= 123.c 789.c 456.s eee.jDES:=$(basename $(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j123 789 456 eeeaddsuffix$(addsuffix , )加后缀函数,将后缀加到中每个单词的后面,返回加过后缀的文件名序列SRC:= 123.c 789.c 456.s eee.jDES:=$(addsuffix _suf,$(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j123.c_suf 789.c_suf 456.s_suf eee.j_sufaddprefix$(addprefix , )加前缀函数,将前缀加到中每个单词的后面,返回加过前缀的文件名序列SRC:= 123.c 789.c 456.s eee.jDES:=$(addprefix prf_,$(SRC)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.jprf_123.c prf_789.c prf_456.s prf_eee.jjoin$(join , )连接函数,把中的单词对应的加到的单词的后面,如果中的单词更多,则多出来的单词保持原样,如果的单词个数更多,那么多出来的被复制到中SRC:= 123.c 789.c 456.s eee.jSRCJOIN:= q e r t y uDES:=$(join $(SRC),$(SRCJOIN)all: echo $(SRC) echo $(DES)123.c 789.c 456.s eee.j123.cq 789.ce 456.sr eee.jt y uforeach$(foreach , , )把中的单词逐一取出放到参数所制定的变量中,然后再执行所包含的表达式,循环过程中,所返回的每个字符串会以空格分隔,最后当整个循环结束时,所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值if$(if , )$(if , ,)返回非0即为真call创建函数的函数$(call , , , )origin确定变量的出身$(origin ),返回值有 “undefined”, “default”, “environment”, “file”, “command line”, “override” , “automaTIc”shell$(shell )或$()参数是一个shell命令error$(error )错误生成函数,是错误信息

    注意事项

    本文(你了解Makefile的内嵌函数?.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开