请教 C 语言头文件引用的问题

2018-08-06 15:16:17 +08:00
 opiviqo

软件有三层如图

| up.h | 顶层

| mid_0.h | mid_1.h | 中间层

| down.h | 底层

1,down.h 中定义了基本个一个结构体; 2,mid_0.h 和 mid_1.h 都引用 down.h,并且都在 down.h 定义结构体的基础上增加了内容,打包成新的结构体。 3,up.h 引用 mid_0.h 和 mid_1.h,(使用中间层定义的结构体编写函数等)

那么问题来了:) 1,这样会导致 down.h 重定义,请教各位有什么好的方法梳理上面的结构,解决重定义问题; 2,有没有头文件引用.c 文件上定义的结构体的方法呢?

感谢各位大佬

2681 次点击
所在节点    C
6 条回复
ysc3839
2018-08-06 15:20:27 +08:00
AlvisIsMe
2018-08-06 15:24:20 +08:00
头文件重定义是没有加头文件卫士吗?
andyzhshg
2018-08-06 15:24:31 +08:00
junjun1
2018-08-06 15:33:03 +08:00
Chenamy2017
2018-08-06 15:38:13 +08:00
1.没有增加头文件卫士
2.在 down.h | 底层 是不是定义了变量之类的东西
Abercrombie
2018-08-06 17:27:37 +08:00
1. ifdef
2. forward-declaration

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX