在许多Makefile中,我看到了以下变量赋值结构:
TARGETDIR=somedirectory
OBJS = \
"tab" $(TARGETDIR)/main.o
我相信这意味着将目标文件放在" somedirectory"并称之为main.o。
我对上面使用的反斜杠的理解是它将一条长行延伸到下面的行。上面的内容不长,为什么反斜杠用于使这个多行语句?以上结果与:
相同OBJS = $(TARGETDIR)/main.o
谢谢 汤姆
答案 0 :(得分:0)
是的,结果是一样的。 make
使用空格作为列表变量中项目之间的分隔符,\ newline计为零字符,因此它不会干扰任何内容。话虽如此,制表符确实在makefile的其他地方保留了含义,所以我会避免在那里放置一个标签。
在此之后,你的问题归结为'程序员没有有来执行此操作,那么为什么 呢?'答案当然是'因为他们可以'。
如果你想要一个可能的原因,想象一下程序员可能会在以后添加额外的行(目标),并且风格上喜欢第一行没有与其他行不同的缩进。所以,他们从一开始就把它放在自己的路上。因此,以后可以节省几秒钟的重组!
事实上,我已经知道使用\ newline-and-space分隔的源文件列表。再次,它只是一种风格选择。使用您喜欢的任何方式!