加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

每个C或C文件是否都有相关的头文件?

发布时间:2020-12-16 03:12:43 所属栏目:百科 来源:网络整理
导读:每个.C或.cpp文件应该有一个头(.h)文件吗? 假设有以下C文件: Main.C Func1.C Func2.C Func3.C main()在Main.C文件中.应该有四个头文件 Main.h Func1.h Func2.h Func3.h 或者所有.C文件应该只有一个头文件? 什么是更好的方法? 解决方法 有一个main.h是不
每个.C或.cpp文件应该有一个头(.h)文件吗?

假设有以下C文件:

> Main.C
Func1.C
Func2.C
> Func3.C

main()在Main.C文件中.应该有四个头文件

> Main.h
Func1.h
Func2.h
> Func3.h

或者所有.C文件应该只有一个头文件?

什么是更好的方法?

解决方法

有一个main.h是不寻常的,因为编译时通常没有什么需要暴露给其他编译单元. main()本身需要暴露链接器/启动代码,但是它们不使用头文件.

您可以每个C文件都有一个头文件,或者很可能是C文件相关组的头文件.

一个例子是,如果你有一个BTree实现,并且在自己的C文件中添加,删除,搜索等等,以便在代码更改时最大限度地减少重新编译.

在这种情况下,每个C文件都有单独的头文件,因为标题是API,而是向用户的库视图.我怀疑用户想要包含6个头文件才能使用这些功能.将有一个btree.h文件和一个btree.lib文件,其中包含从各个C文件构建的所有BTree对象.

另一个例子可以在标准的C头文件中找到.我们不知道stdio.h函数是否有多个C文件(这是我该怎么做,但这不是唯一的方法),但即使有,它们被视为一个单位的API.您不必包括stdio_printf.h,stdio_fgets.h等等 – C运行时库的标准I / O部分有一个stdio.h.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读