下一页:Make宏中的尾部空白,上一个:Make Rules中的换行,向上:便携式Make编程 [目录][索引]
尽可能避免在宏值中添加注释。Posix公司指定从“#'签名直到结束这条线应该被忽略,这会带来不幸的后果即使在引号中也不允许使用。因此,以下可能导致编译时出现语法错误:
CPPFLAGS=“-DCOMMENT_CHAR='#'”
作为'CPPFLAGS公司'可以扩展为'“-DCOMMENT_CHAR='’.
大多数制作实现忽略了这一点,将单个和这里有双引号。此外,GNU制作让你把‘#'通过使用反斜杠将其转义为宏值,即。,‘\#’. 然而,这两种用法都不是可移植的。请参见生成规则中的注释,用于便携式替代品。
制作
即使没有引用,评论也会产生令人惊讶的效果,因为它们前面的空白是变量值的一部分:
foo=bar#尾部注释打印:@echo“$(foo)。”
打印'巴。',这通常不是有意的,并且可能会暴露制作错误如下所述。