V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
opiviqo
V2EX  ›  C

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

  •  
  •   opiviqo · 2018-08-06 15:16:17 +08:00 · 2686 次点击
    这是一个创建于 2334 天前的主题,其中的信息可能已经有所发展或是发生改变。

    软件有三层如图

    | 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 文件上定义的结构体的方法呢?

    感谢各位大佬

    6 条回复    2018-08-06 17:27:37 +08:00
    ysc3839
        1
    ysc3839  
       2018-08-06 15:20:27 +08:00 via Android   ❤️ 1
    AlvisIsMe
        2
    AlvisIsMe  
       2018-08-06 15:24:20 +08:00   ❤️ 1
    头文件重定义是没有加头文件卫士吗?
    andyzhshg
        3
    andyzhshg  
       2018-08-06 15:24:31 +08:00   ❤️ 1
    junjun1
        4
    junjun1  
       2018-08-06 15:33:03 +08:00   ❤️ 1
    Chenamy2017
        5
    Chenamy2017  
       2018-08-06 15:38:13 +08:00   ❤️ 1
    1.没有增加头文件卫士
    2.在 down.h | 底层 是不是定义了变量之类的东西
    Abercrombie
        6
    Abercrombie  
       2018-08-06 17:27:37 +08:00   ❤️ 1
    1. ifdef
    2. forward-declaration
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1346 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:35 · PVG 01:35 · LAX 09:35 · JFK 12:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.