为什么 gcc 将“a-”附加到依赖文件名?

问题描述 投票:0回答:1

在gcc 11.3.0下,输入命令gcc -M -MD sourcefile.c,会创建一个名为“a-sourcefile.d”的文件。但是,在 gcc 9.4.0 下,“a-”前缀不存在。

这是正确的行为吗?

我期待没有“a-”前缀的.d文件。

gcc makefile dependencies c-preprocessor
1个回答
0
投票

在gcc 11.3.0下,输入命令gcc -M -MD sourcefile.c,会创建一个名为“a-sourcefile.d”的文件。但是,在 gcc 9.4.0 下,“a-”前缀不存在。

GCC 11
相对于
GCC 9
中,-M-MD 选项的行为没有记录差异。这些已经稳定了相当长的时间,所以我认为这...

我期待没有“a-”前缀的.d文件。

... 是一个合理的期望。事实上,我认为这是 so 合理的,特别是根据文档,我倾向于猜测问题与问题中描述的不一样。可能指定了一个或多个额外的命令行选项,或者源文件名可能与声明的不一样。例如,如果构建命令是在

make
变量的帮助下构建的,那么这种事情可能会悄悄发生。

© www.soinside.com 2019 - 2024. All rights reserved.