当前位置:  开发笔记 > 编程语言 > 正文

C头文件中的包含周期

如何解决《C头文件中的包含周期》经验,为你挑选了1个好方法。

如何防止C中的包含循环?即.你不应该有#include"bh",其中#include的"ch"是#include的"啊".我正在寻找一种方法来防止使用某种C指令发生这种情况.

我本以为这会阻止这种情况发生:

内容啊:

#ifndef __A_H
#define __A_H

#include "b.h"

#endif // __A_H

bh的内容:

#ifndef __B_H
#define __B_H

#include "c.h"

#endif // __B_H

ch的内容:

#ifndef __C_H
#define __C_H

#include "a.h"

#endif // __C_H

但它似乎没有用.



1> florin..:

它确实工作正常:文件重复包含,但#ifdndef/#define/#endif保护的部分不会重复,这会打破循环.

使用编译器生成预处理输出并自行查看.使用GNU CC,您需要在.c [pp]文件中使用"-E"选项,如下所示:

gcc -E $(CFLAGS) -o foo.i foo.cpp

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有