Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        4年前关闭。
                                                                                            
                
        
在Makefiles GCC C程序中,什么是.d文件,什么是通配符??

Rgds,

最佳答案

这些*.d文件通常(并且只是常规上)是make依赖项(但D-language源代码可能(但不太可能))。

GCC编译器了解-M(和相关的)preprocessor option,它要求make执行...。


  而不是输出预处理结果,而是输出一条适合于描述主源文件依赖性的规则。


借助一些好的Makefile技巧,您可以编写一个自动处理依赖关系的Makefile,例如像这样

 ## dependencies of foo.c
 foo.d: foo.c
      $(COMPILE.c) -M $^ -o $@
 ## include them
 -include foo.d


关于$(wildcard *.c),请阅读GNU make documentationfile name functions部分。因此,通过将$(wildcard *.c)扩展为以*.c结尾的文件列表,makeglobbing .c;您可以使用它,例如定义make变量:SOURCE_FILES= $(wildcard *.c)

另请参见thisthatthat示例。

不要忘记尝试make -p来理解GNU make已知的所有良好的内置规则。...使用make --traceremake -x调试Makefile -s。

关于c - 在Makefiles GCC C程序中,什么是.d文件,什么是通配符?? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31488401/

10-12 05:24