gpt4 book ai didi

具有多个文件的程序的 C 资源

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:55 25 4
gpt4 key购买 nike

我正在开发一个相当简单的 C 程序,它有一个主文件 vector.c、vector.h,但我遇到了这些问题:

  • 如果两个 c 文件都需要它提供的声明,我应该把 .h 文件的包含放在什么地方?
  • 我应该将所有 3 个文件中所需的 typedef 放在哪里?

似乎无论我做什么 gcc 都会提示。

任何人都可以回答这些问题,或者指出我可以阅读的资源吗?

最佳答案

where do I put the include for a .h file if the declarations it provides are needed in both c files?

include 语句放入需要 header 定义的每个 C 文件中,在您的情况下,在 main.c vector 中.c。使用include guards总是一个好主意,如果编译器提示符号已经定义或多次定义,则需要。

where do I put typedefs needed in all 3 files?

这取决于:

  • 如果 typedefs 是您的 vector API 所必需的或特定于您的 vector API,则将它们放入 vector.h
  • 如果它们与您的 vector 接口(interface)无关,即它们特定于 main.c,那么它们可能属于那里。
  • 但是您提到所有 3 个文件都需要它们,所以如果这些 typedefs 不是 您的 vector 接口(interface)的一部分,那么它们可能属于第三个 header 文件,例如类似 common.h 的文件,它也可能包含在项目中的所有其他文件中。

关于具有多个文件的程序的 C 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11296545/

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