是否可以在C文件中定義宏,然後使用此定義更改另一個C文件的行爲?在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
的行爲,它也應該能夠覆蓋那裏的行爲。
是否有可以實現此目的的宏的替代方法?
感謝。我使用了變量和回調的組合,並能夠做我想要的。 – Allan