【问题标题】:include same header in 2 files .c在 2 个文件中包含相同的标题 .c
【发布时间】:2015-06-06 23:24:42
【问题描述】:

c 文件:Primitives.c、bloc.c 和 main.c 和 2.h 头文件: bloc.h 和 primitives.h 我想在 Primitives.c 上工作并使用我在原语.c 中制作的 bloc.c 函数#include "primitives.h"in 在primitives.h中我有:

#ifndef PRIMITIVES_H_
#define PRIMITIVES_H_
#include "bloc.h"

#endif

在 bloc.h 中:

#ifndef BLOC_H_
#define BLOC_H_
...
#endif

在primitives.c中:

#include "primitives.h"
printf ("%d", var);

最后在 bloc.c 中:我推杆 int var =2;

问题是当我编译primitives.c时它显示给我: Primitives.c:5:9: erreur: 预期的声明说明符或字符串常量之前的“...”(法语为抱歉)

【问题讨论】:

  • 这就是primitives.c 的全部内容吗?你包括stdio吗?
  • 在 bloc.h 中我包含所有内容.. 然后 bloc.h 包含在primitives.h 中,它是这样工作的吗?

标签: c header include


【解决方案1】:

你不能放行: printf ("%d", var); 在包含下方。它必须放在一个函数中。

【讨论】:

  • 就是这样。但我有一个问题; bloc.h 我应该将它包含在primitives.h 或primitives.c 中?
  • 这取决于您的架构。如果primitives.h 使用 bloc.h 的任何定义,它应该包括 bloc.h 。如果只有primitives.c 使用bloc.h 的结构/变量/定义,你应该在c 源代码中包含bloc.h。但是,我建议不要在另一个 .h 文件中包含头文件 .h。
猜你喜欢
  • 2018-08-19
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 2019-06-28
相关资源
最近更新 更多