是否可以在 C 文件中定义宏,然后使用此定义更改另一个 C 文件的行为?
例如,假设我们有一个名为 的文件b.c
:
#include <stdio.h>
#define ABC
void function() {
printf("b.c\n");
}
另一个文件名为a.c
:
#include <stdio.h>
int main() {
#ifdef ABC
printf("b.c defined this\n");
#endif
printf("a.c\n");
}
这些文件一起编译。b.c
我想影响ABC 的定义a.c
。
我知道我应该使用头文件,但我不想这样做。还有另一种方法可以实现这一目标吗?
在我的场景中,b.c
是一种子应用程序,它将补充 的行为a.c
,并且它还应该能够覆盖其中的行为。
有没有替代宏可以实现这一点?