简单的头文件问题!!!

Chairman516 2011-03-09 11:18:28
问题是这样的。
我有两个文件 a.c 和a.h。其中头文件a.h中有a.c中的函数声明,可是函数声明中用到了其他库中定义的结构(参数或返回值)。那么我应该在a.h里include其他库的头文件,还是在a.c中include呢?

注意:此程序要提供给他人做二次开发。望有经验的人指点!你们在实际中是怎样做的?

附加:如果用到自己库中的其他头文件,又该怎么做呢?
...全文
133 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenzhang1986 2011-03-13
  • 打赏
  • 举报
回复
对于可能重复定义的头文件:
#ifndef ABC_H_
#define ABC_H_
//class abc
{};

#endif
lr2131 2011-03-13
  • 打赏
  • 举报
回复
防止重复定义的话:
#ifndef _ABC_H_
#define _ABC_H_
#include "ABC.H"
#endif
lr2131 2011-03-13
  • 打赏
  • 举报
回复
这个决然是在.h中include呀,这本身就是使用.h文件的一个意义,留出接口,但又要封装具体实现。
在.c文件中定义和实现,在对应的.h文件中声明和引用,就是这个道理。
liukunyewudi 2011-03-13
  • 打赏
  • 举报
回复
用预编译就可以了啊
zxg1102 2011-03-13
  • 打赏
  • 举报
回复
在.h里面include ,防止头文件重复包含
hrx1989 2011-03-11
  • 打赏
  • 举报
回复
应该是在.h中吧。。
就是用一个#ifndef #endif去防止重复编译就行了!
npuhuxl 2011-03-11
  • 打赏
  • 举报
回复
因为返回类型 调用方也要知道其细节所以必须在.h中include。
如果返回值调用方不需要的话那就只在.c中include 而在.h中声明下.
petrie 2011-03-10
  • 打赏
  • 举报
回复

#ifndef identifier_h
#define identifier_h
//此部分不会重复定义
#endif




谭海燕 2011-03-10
  • 打赏
  • 举报
回复
在那使用就在那个文件#include
qq120848369 2011-03-10
  • 打赏
  • 举报
回复
必须在.h中。
無_1024 2011-03-10
  • 打赏
  • 举报
回复
用预编译实现 可以防止二次编译
無_1024 2011-03-10
  • 打赏
  • 举报
回复
a.h里include其他库的头文件
碎碎念 2011-03-10
  • 打赏
  • 举报
回复
在a.h中#include...
aussino78 2011-03-10
  • 打赏
  • 举报
回复
参数或者返回值尽量的类型尽量定义成需要引用的类型的指针或者引用,然后直接在头文件中
通过类似class A;的方法进行声明,这样不用在头文件中包含其他头文件
wbruce 2011-03-09
  • 打赏
  • 举报
回复
个人觉得应该尽量在c中include,因为a.h可能被其他地方引用,但此时的库头文件对于其他地方不是必须的。
ApecF 2011-03-09
  • 打赏
  • 举报
回复
.c用到的话,最好是加到对应的.h中
npuhuxl 2011-03-09
  • 打赏
  • 举报
回复
在.h中include

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧