Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个宏,用于afile.c和bfile.c(都在模块A中)这个宏在aheader.h
afile.c
bfile.c
aheader.h
这两者都在不同的模块/目录中,并且在编译模块 A 之前编译了 aheader.h 模块。
现在一种方法是#include "aheader.h"在每个 .c 文件中执行。但是不是这样做,有没有办法在模块 A 的 Makefile 中添加一些内容(比如将其添加到标题列表中),以便aheader.h在使用宏的任何地方都选择它?
#include "aheader.h"
#include "aheader.h"是简单而正确的事情。使用宏时,C 没有自动包含标题的功能。
如果你坚持在makefile中做,你可以添加-include aheader.h为编译标志。它将包含在所有文件中。
-include aheader.h
只有在 C 文件中找到宏时,才可以使用 makefile 添加此标志,方法是使用grep. 但它是复杂的 makefile 工作,我认为没有它你会更好。
grep