最近在用makefile编译文件时,编译完成后发现当前目录下有一些.h.gch 文件,很奇怪,上网查了以后,明白那是gcc为了优化编译速度了,如果一个文件里面包含的 .h 比较多的话
gcc 会先将.h头文件预编译成为 .h.gch文件,以便下次编译时能够更快,将会将.h.gch文件自动载入,
但该文件有一个很不好的地方就是
但我们修改了文件头的 .h 文件, gcc仍旧会编译原来的 .h.gch 文件, 不会载入新修改的文件头, 仍旧很容易造成错误 , 对于此的解决方案, 我们只需要将 Makefile文件 的 clean 目标项 修改为 rm -f *.o *.h.gch , 然后在重新编译就好.....