博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GNU make manual 翻译( 一百五十四)
阅读量:6433 次
发布时间:2019-06-23

本文共 2046 字,大约阅读时间需要 6 分钟。

继续翻译

6.1 Basics of Variable References=================================To substitute a variable's value, write a dollar sign followed by thename of the variable in parentheses or braces: either `$(foo)' or`${foo}' is a valid reference to the variable `foo'.  This specialsignificance of `$' is why you must write `$$' to have the effect of asingle dollar sign in a file name or recipe.   Variable references can be used in any context: targets,prerequisites, recipes, most directives, and new variable values.  Hereis an example of a common case, where a variable holds the names of allthe object files in a program:     objects = program.o foo.o utils.o     program : $(objects)             cc -o program $(objects)     $(objects) : defs.h   Variable references work by strict textual substitution.  Thus, therule     foo = c     prog.o : prog.$(foo)             $(foo)$(foo) -$(foo) prog.$(foo)could be used to compile a C program `prog.c'.  Since spaces before thevariable value are ignored in variable assignments, the value of `foo'is precisely `c'.  (Don't actually write your makefiles this way!)   A dollar sign followed by a character other than a dollar sign,open-parenthesis or open-brace treats that single character as thevariable name.  Thus, you could reference the variable `x' with `$x'.However, this practice is strongly discouraged, except in the case ofthe automatic variables (*note Automatic Variables::).

6.1 变量参照的基本

=================================

为了替换一个变量的值,要写一个美元符号后面跟着括号或者大括号,里面是变量名成:或者$(foo) 或者 ${foo}是一个对变量 foo的有效参照。这个$的特殊重要性就是为什么你必须写 $$来在文件名或者片段中来代表$符号本身。

变量参照可以用在任何上下文中:目的,前提条件,片段,大多数的指令,还有几个变量值中。这里有一个一般情况的例子,此处变量持有在一个程序中的所有的目标文件名:

objects = program.o foo.o utils.o

program : $(objects)
cc -o program $(objects)

$(objects) : defs.h

变量参照采用严格的文本替换因此,下列规则 

foo = c

prog.o : prog.$(foo)
$(foo)$(foo) -$(foo) prog.$(foo)

可以被用来编译一个C 程序 prog.c, 因为变量前的空格会被在变量赋值的时候被忽略,foo的值就是精确的c(当然,实际上不要像这样来写你的makefile)。

一个非美元符号,非开放括号或者非开放打括号前面有一个美元符号的,被当作一个变量对待。因此你你可以用$X来参照x,但是这个实践是强烈不推荐的。除了在自动变量的场合(*note Automatic Variables::)。

后文待续

转载地址:http://xatga.baihongyu.com/

你可能感兴趣的文章
PHP面向对象之接口编程
查看>>
使用 Docker Compose 管理多个容器实例
查看>>
ThinkPHP 删除数据记录 delete 方法
查看>>
Gradle学习笔记(二)--创建Java项目
查看>>
IntelliJ IDEA 快捷键
查看>>
qury-easyui DataGrid 整合struts2增删查该入门实例(三)
查看>>
if a point is inside a square with mathematics
查看>>
Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
查看>>
skyline无插件web的数据加载解析
查看>>
python基础学习第一天
查看>>
硬盘存储双寡头之争 希捷重注中国市场或赢大丰收
查看>>
淘宝电影联合华谊的数据报告,还有哪些重要信息?
查看>>
编译安装PHP
查看>>
css position:static 的使用
查看>>
nfs永久挂载与临时挂载
查看>>
linux查看网络链接状况命令之-netstat
查看>>
我的友情链接
查看>>
UIView的layoutSubviews和drawRect方法何时调用
查看>>
mysql主从同步
查看>>
制作最简化的Linux系统
查看>>