gpt4 book ai didi

c - 我应该还是不应该在不同的 c 文件中包含相同的 header ,而这些文件又是主文件中使用的 header ?

转载 作者:太空狗 更新时间:2023-10-29 17:20:33 27 4
gpt4 key购买 nike

我正在构建一个 main.c 文件以利用几个不同的 .h 文件中的函数。这些 .h 文件中的一些(或者更确切地说,它们的 .c 源文件)使用相同的包含(标准但也有一些其他类似的)

我的问题是:如果我只在我的 main.c 中为所有头文件包含一次这些是否可以,或者我应该让每个 .h 文件单独包含它们而不是将它们包含在我的 main.c 中(考虑到我只使用那些头文件中的函数)?

还是我应该两者都做?

我现在的做法是:

dist.c:

#include "dist.h"
#include <stdio.h>
#include <unistd.h>
#include "rpiGpio.h"
#include <pthread.h>
#include <wiringPi.h>
#include <softPwm.h>

然后是另一个:

cmps.c:

#include "cmps.h"
#include <stdint.h>
#include <stdio.h>
#include <unistd.h>
#include <math.h>
#include "rpiGpio.h"

然后在我的 main.c 中:

#include    <stdio.h>
#include <stdlib.h>
#include "dist.h"
#include "cmps.h"

提前致谢!

最佳答案

您应该在您自己的 header 之上包含标准 header ,并且您应该在该文件中包含文件的所有依赖项。如果您更改其中一个文件中的包含,它应该不会影响任何其他文件。每个文件都应该维护自己的头文件依赖列表。

如果在您的示例中,dist.h包括 <stdio.h> ,你不应该在外面依赖这个dist.h .如果你改变 dist.h这样它就不再依赖<stdio.h>并删除 #include ,然后你的程序中断。

关于c - 我应该还是不应该在不同的 c 文件中包含相同的 header ,而这些文件又是主文件中使用的 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27768962/

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