我有几个自己制作的库(几何库、链表库等)。我想创建一个头文件,将它们都包含在一个lib.h中。我可以这样做吗:
#ifndef LIB_H_
#define LIB_H_
#include <stdio.h>
#include <stdlib.h>
#include <linkedlist.h>
#include <geometry.h>
....
#endif然后我可以只引用这一个库,而实际上引用多个库。这个是可能的吗?如果没有,有没有办法绕过它?
发布于 2010-04-21 07:25:43
是的,这将会起作用。
但是,请注意,如果您在此文件中包含了很多头文件,并且不需要在每个源文件中都包含所有头文件,则可能会增加编译时间。
它还使确定特定源文件实际依赖于哪些头文件变得更加困难,这可能会使代码理解和调试变得更加困难。
发布于 2010-04-21 07:24:58
是的,这是有效的,并且实际上在大多数API中使用。记住#include实际做了什么(告诉预处理器立即包含一个新文件),这应该是有意义的。尽管实现将有一个(大的)最大深度,但没有什么可以阻止多个级别的包含。
如上所述,您应该将您的标题组织成逻辑分组。
https://stackoverflow.com/questions/2679373
复制相似问题