gpt4 book ai didi

c - 在 C 中使用宏更改其他 C 文件中的行为

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:57 25 4
gpt4 key购买 nike

是否可以在 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 的行为,并且它还应该能够覆盖其中的行为。

是否有替代宏的方法可以实现此目的?

最佳答案

使用全局变量或使用回调。 “最佳”解决方案取决于您需要多大的灵 active 。

关于c - 在 C 中使用宏更改其他 C 文件中的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com