是否可以在 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,并且它还应该能够覆盖其中的行为。
有没有替代宏可以实现这一点?