4

我现在正在用 C 做一个大项目,我正在做它的特定部分(另一个由其他人完成),我想知道我的项目何时应该被拆分为多个 c 文件,以及编写的最佳实践是什么大型项目,有一个团队(或单独)。我以前的经验是使用标头(有一个标头和一个 .c 用于编写所有函数)。

4

2 回答 2

2

人们会告诉你不同的事情。一般来说:

  • 在以下情况下,您应该将文件拆分为较小的文件:
    • 它有很多依赖项
    • 编译时间太长
    • 它知道或做得太多
  • 您应该通过以下方式组织您的项目:
    • 哪些部分适用于哪些类型的数据
    • 哪些部分与项目的哪些其他部分协同工作
  • 你应该避免的事情:
    • 仅当包含在特定订单中时才有效的标题
    • 拉入项目大块的标头(依赖项太多)
    • 滥用预处理器宏
    • 一个“util.c”或类似的。从个人经验来看,他们往往会失去控制

在 C++(不是 C)中,我倾向于为我编写的每个主要类都有一个 .h 和 .cpp 文件,有时我可能会将一些支持类与其他类密切相关的文件集中在一起,而没有这些类或多或少毫无意义(有趣的是,我有一个中型项目,在同一个文件中包含诸如 Scheduler 和 SchedulerEvent 之类的类,其中 Scheduler 包含 SchedulerEvents 的集合。该项目有大约 180 个文件,并且仍然易于维护)。

于 2012-09-19T15:27:59.627 回答
0

根据经验,将类型定义(或密切相关的类型定义)和处理此类类型的函数放入一个模块中。

公共类型和函数进入.h-file,私有类型和函数以及所有实现进入.c-file。

.h没有.c-files 的 -files 很少见。

于 2012-09-19T16:32:34.557 回答