c - 如何 #include 多个 .h 文件来防止警告

标签 c include include-path gcc-warning

我有一个主 .c 文件,其中包含 4 个 .h 文件和包含在主函数中的 .c 文件。像这样:

#include <stdio.h>
#include "file1.h"
#include "file2.h"
#include "file3.h"
#include "file4.h"

int main(){...}

.h 文件包含所有相应 .c 文件的所有声明。某些 .c 文件确实使用其他 .c 文件中的函数,例如“file4.c”使用“file2.h”中声明的一些函数,“file1.c”使用“file3.h”中声明的函数。我尝试在每个 .c 文件中声明与 main 中相同的包含,并尝试重新排序包含文件,但我仍然收到有关函数隐式声明和不兼容的隐式声明的警告消息。

我想知道如何在大型项目中使用#includes 来消除警告消息。我使用 gcc 作为编译器。

最佳答案

如果您想在 main() 文件的一部分中导入 .h 文件,您必须确保您没有将其导入到任何地方。 例如: file4.h使用file3.h中的函数 如果您在文件 file4.h 中导入了 file3.h,则不得在文件 ma​​in()file3.h强>。这是重复的定义。 如果你有很多初始化文件。您可以将其导入到唯一的通用文件中。并在 ma​​in() 中使用该文件。 希望你喜欢^^

关于c - 如何 #include 多个 .h 文件来防止警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30387392/

相关文章:

c - 是否需要转换字符串的字节顺序?

c - 为什么 C 支持负数组索引?

c++ - 结构 DIR 的前向声明

mysql - 如何手动将.h文件导入系统库?

c - 为什么long long int不会溢出?

java - 为什么这段代码在 Java 中比在 C++ 和 C# 中更快

c++ - C++ 中相互包含的 header

c++ - 前向声明的循环包含和继承导致 C2504 基类未定义

c++ - boost/property_tree/xml_parser.hpp : No such file or directory

cmake - 如何处理 C++ 库中的资源