c/c++语言开发共享正确使用头文件?

最近我一直在使用头文件将我的程序拆分成单独的文件(包含函数和头文件的C文件声明它们)。 一切正常,但出于某种原因,我需要在每个C文件中包含 …或者我的项目无法编译。 这是预期的行为吗?

    C模块需要知道如何定义某些内容,或者知道定义的位置。 如果定义位于头文件中,则应将其包含在使用它的模块中。 以下是有关头文件的信息的链接 。

    答案取决于该函数是否可能依赖于其他.c / .h文件中的其他声明函数。

    例如:

    filea.c

     #include "filea.h"; methodA() { methodB(); } 

    fileb.c

     #include  #include "fileb.h" methodB(); { somelibrarycode(); } 

    除非filea.c包含filea.c的头文件,否则这将无法编译,因为它具有一些未解析的外部依赖项。

    如果这不是你所描述的,那么就会发生其他一些麻烦,或者你不小心静态输入了函数,使它们无法在.c文件之外被看到。

    这个问题的一个可能的解决方案是将一个shared.h与其他所有包含在一起,但我个人不推荐这个,因为这只是掩盖了问题,而不是明显地使哪些文件依赖于什么并建立清晰的线条依赖。

    它们必须以某种方式包括在内。

    有些项目需要在.c文件中包含长列表,可能需要强制排序,甚至强制假设没有标题包含任何其他标题。

    有些允许假设某些包括形成一些标题。

    有些人使用集合标题(包括小标题列表)并用这些标题替换长列表。

    有些甚至更进一步,使用编译器的“强制标头”选项,因此包含不会出现在任何地方,并声明内容是隐式假设的。 它可以在项目或整个代码库级别上进行,也可以组合使用。 它与预编译头文件相当好。

    (还有更多的策略,你得到的数字,都有一些优点和缺点。)

      以上就是c/c++开发分享正确使用头文件?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(计算机技术网)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ctvol.com/c-cdevelopment/523019.html

      (0)
      上一篇 2020年12月11日
      下一篇 2020年12月11日

      精彩推荐