日期:2014-05-16  浏览次数:20550 次

Linux Makefile探讨,产生的.d文件是.c文件的依赖?
Linux Makefile探讨,make编译过程中产生的.d文件是.c文件的依赖是什么意思?.c依赖的内容指什么,为什么要产生该依赖文件。d?

------解决方案--------------------
打开任意一个。d文件看看就清楚了,就是生成对应的c文件所依赖的头文件等信息,一般没什么用
偶尔遇到头文件包含相关的问题(如文件包含错了、文件包含冲突等),可以分析这个文件来查找原因
------解决方案--------------------
.d dependencies
依赖文件。
是给Makefile用的。内容和Makefile的target相似:
假设hello.c里有
#include "hello.h"

hello.h里有
#include "foo.h"
#include "bar.h"

gcc -c -MMD hello.c就会产生hello.d

hello.o: hello.c hello.h foo.h bar.h

在Makefile里用-include 进来后
即使hello.c没有修改,即使hello.c没有直接include foo.h bar.h 只要hello.h foo.h bar.h中的任意一个修改都会重新编译hello.c