首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在头文件中包含头文件?

是否在头文件中包含头文件?
EN

Stack Overflow用户
提问于 2010-04-21 07:22:51
回答 2查看 35K关注 0票数 9

我有几个自己制作的库(几何库、链表库等)。我想创建一个头文件,将它们都包含在一个lib.h中。我可以这样做吗:

代码语言:javascript
复制
#ifndef LIB_H_
#define LIB_H_

#include <stdio.h>
#include <stdlib.h>
#include <linkedlist.h>
#include <geometry.h>
....

#endif

然后我可以只引用这一个库,而实际上引用多个库。这个是可能的吗?如果没有,有没有办法绕过它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-21 07:25:43

是的,这将会起作用。

但是,请注意,如果您在此文件中包含了很多头文件,并且不需要在每个源文件中都包含所有头文件,则可能会增加编译时间。

它还使确定特定源文件实际依赖于哪些头文件变得更加困难,这可能会使代码理解和调试变得更加困难。

票数 17
EN

Stack Overflow用户

发布于 2010-04-21 07:24:58

是的,这是有效的,并且实际上在大多数API中使用。记住#include实际做了什么(告诉预处理器立即包含一个新文件),这应该是有意义的。尽管实现将有一个(大的)最大深度,但没有什么可以阻止多个级别的包含。

如上所述,您应该将您的标题组织成逻辑分组。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2679373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档