为什么不更改头文件中的宏(#define)需要新的构建?

时间:2011-04-11 23:56:54

标签: c-preprocessor

我对 C 有点新鲜,只是发现了一些有趣的东西。我更改了头文件中#defined的简单宏的值

#define MRB 1000

#define MRB 100

当我再次运行make时,它说没有任何变化(“没有什么可以为'所有'做”)。  宏如何工作使得它们不需要成为构建的一部分?

2 个答案:

答案 0 :(得分:4)

这与make的工作方式有很大关系,而不是宏的工作方式。如果它不需要重建,那么您已错误地指定了依赖项。阅读makedepend

答案 1 :(得分:1)

如果实际使用了包含文件,那么它应该触发构建。如果没有,则依赖性规则不完整。