gpt4 book ai didi

解决 make/C 代码中的循环引用的正确方法?

转载 作者:行者123 更新时间:2023-11-30 17:59:02 25 4
gpt4 key购买 nike

我有两个 C 模块,每个模块都使用另一个模块的某些功能。在我的 makefile 中,我这样表达了这一点:

moduleA.h: common.h moduleB.h
moduleB.h: common.h moduleA.h

由于显而易见的原因,这会生成循环引用警告,尽管它可以正常编译。解决这个问题的正确方法是什么?我应该重构模块来创建第三个模块 - moduleC - 将两者联系在一起吗?

模块 A 是一个日志模块,模块 B 是一个 cronjob 实现。日志记录使用 cronjob 来安排日志轮换,而 cronjob 使用日志记录来告诉每个人它在做什么。

模块 C 会相当小;只需创建一个 cronjob 来调用日志记录轮换函数,但日志记录不需要了解 cronjob。当然,Cronjob 仍然依赖于日志记录。

或者我应该忽略这个警告?

最佳答案

您可以使用这样的舒缓方法:

#ifndef MY_HEADER_FILE_H
#define MY_HEADER_FILE_H

/* Prototypes and others consts and .... */

#endif

希望这有帮助。

问候。

关于解决 make/C 代码中的循环引用的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799399/

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