在gcc 11.3.0下,输入命令gcc -M -MD sourcefile.c,会创建一个名为“a-sourcefile.d”的文件。但是,在 gcc 9.4.0 下,“a-”前缀不存在。
这是正确的行为吗?
我期待没有“a-”前缀的.d文件。
在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
变量的帮助下构建的,那么这种事情可能会悄悄发生。