gpt4 book ai didi

c - 防止将 header 包含到 C 中的同一文件中

转载 作者:太空宇宙 更新时间:2023-11-04 05:22:42 28 4
gpt4 key购买 nike

我正在寻找一种方法来强制某些 header 不能包含在同一个文件中。

为了进一步解释情况,假设我有标题

a_1.h, b_1.h

a_2.h, b_2.h

我想防止将 _1_2 文件包含到同一个文件中,无论它们是否是

a_ or b_

最佳答案

假设混合 _1_2 headers 是一个需要被捕获的错误,捕获它的一个简单方法是定义和检查保护宏以检查这些 header 的混合使用并使用 #error报告错误的指令。

例如,a_1.h header 可以包含此代码:

#ifndef A_1_H__INCLUDED
#define A_1_H__INCLUDED

/* Define header set as 1 if not already defined. */
#ifndef HEADER_SET
#define HEADER_SET 1
#endif

/* Check for consistent header set usage. */
#if HEADER_SET != 1
#error "Inconsistent header sets"
#endif

/* Other header stuff ... */

#endif /* A_1_H__INCLUDED */

其他 header 类似,但 _2标题将有 #define HEADER_SET 2#if HEADER_SET != 2 .

关于c - 防止将 header 包含到 C 中的同一文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54520866/

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