【问题标题】:what is the advantage of including .c files?包含 .c 文件有什么好处?
【发布时间】:2012-03-25 04:45:25
【问题描述】:

当我阅读ucos源文件时,我在ucos_ii.c中找到了这段代码

#include "os_core.c"
#include "os_mbox.c"
#include "os_mem.c"
#include "os_q.c"
#include "os_sem.c"
#include "os_task.c"
#include "os_time.c"

包含 .c 文件有什么好处?

【问题讨论】:

  • 而不是包含 .h 文件?

标签: c coding-style


【解决方案1】:

通过这样做,他们可能允许编译器进行更多的内联和/或空间优化。 uCos 是一个嵌入式操作系统,所以任何节省空间或时间的东西都是一件好事。 (当然在合理范围内)

【讨论】:

  • +1 说明为什么 uCos 代码可能会这样做
【解决方案2】:

它可以通过需要一个更简单的 makefile 来简化构建过程。在这种情况下,需要将 7 个文件添加到 makefile 中。然而,随着项目变得越来越大,它很快就会变得笨拙。

另一个缺点是任何通常具有内部链接的变量现在可用于其他 c 文件。

【讨论】:

    【解决方案3】:

    如果我错了,我希望有人能纠正我,因为我在 C 语言中的编码次数很少,但是 AFAIK,添加一个像这样的 .c 文件可以让你处理所有的功能和诸如此类的东西在该文件中定义,就好像它们直接在包含它们的文件中编码一样。这应该让您可以从更简单、更可重用的部分构建更复杂的文件。

    【讨论】:

    • 你说的都是真的,但这不是正常的做事方式。通常会分别编译所有 .c 文件,然后在最后将它们链接在一起。
    • @CarlNorum 我也这么想。感谢您的跟进。
    • 但是我们需要注意不要在编译过程中包含已经包含的c文件,否则我们会得到编译错误(重复符号或其他东西)。
    【解决方案4】:

    我认为这是用于导入系统库函数,当您需要使用系统库中的方法时,它会起作用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-24
      • 2014-10-09
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 2012-07-11
      相关资源
      最近更新 更多