include头文件,在.h和.c里做有什么区别

「已注销」 2014-09-04 04:13:26
如题.................................................................
...全文
4691 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Firststyledo 2018-09-26
  • 打赏
  • 举报
回复
我在每个.h文件中加#ifndef不行吗?防止重复包含,然后把include放在.h中
我看你有戏 2014-09-07
  • 打赏
  • 举报
回复
.c需要用C语言规范
枫舞的季节 2014-09-06
  • 打赏
  • 举报
回复 1
.h和.c 放在其中的可以是声明或者定义,如果是定义放在.h中,如果.h被重复包含多次,那么则会被报重定义。所以在.h 中都要---如果函数就要是inline ,如果是变量就要 selectany (windows)才不会被报错。 .h ---就是为了放一堆声明所产生的东西。 如果你在.h 中放的函数实现和变量定义都如上所说也没有问题的。就是不符合习惯而已。 举个例子: 1.h 内容 int g_num; int add(int a,int b) { return a+b; } 1.h 在很多地方包含,则 g_num重复定义 add 重复定义。 要 __declspec( selectany ) int g_num; inline int add(int a,int b) { return a+b; }
Morrisss_ 2014-09-05
  • 打赏
  • 举报
回复
参考谷歌代码规范。
Black-Monday 2014-09-05
  • 打赏
  • 举报
回复
#include “data.txt" //预编译也可以打开txt文件 要是觉得代码简短,不想打开软件,可以直接用记事本或者写字板写。 然后再用VC。 像我的话要是小代码的测试的话就懒得打开软件然后建立工作区,直接用记事本写然后用打开方式选择相应的软件。 (我是想赚取一些积分,虽然不一定对你有用,请原谅,谢谢了)
DevilXiaoyao 2014-09-04
  • 打赏
  • 举报
回复 2
如果你在a.h头文件中include了“stdio.h”,“iostream”,……一大堆 那么你的a.cpp源文件只要include你的a.h,就相当于include了“stdio.h”,“iostream”,……一大堆 但是当其他文件include你的a.h的同时也就包含了“stdio.h”,“iostream”,……一大堆 这个要看你个人需要,如果你需要让其他文件也include一大堆,那么写在a.h中就可以,其他文件包含a.cpp简单整洁无脑 如果只有a.cpp需要include一大堆,那么还是建议在a.cpp中include一大堆
liushan0302 2014-09-04
  • 打赏
  • 举报
回复
必须啊 a.c里面用到的 变量函数声明等一般都是放在a.h里的 a.c一般都是要包含 a.h的吧
「已注销」 2014-09-04
  • 打赏
  • 举报
回复
引用 1 楼 adlay 的回复:
在 .h 里面 include 所有其他 include 了你这个 .h 文件的也会把你 include 的加进去,增加了其他编译单元的代码量,编译起来更慢
再问一下 a.c里include "a.h" 有必要么,或者什么时候有用?
lm_whales 2014-09-04
  • 打赏
  • 举报
回复 1
1)在 .h 里面 include 的好处是: 如果很多.c,.cpp文件,都包含一批头文件, 如果复制很容易遗漏 如果输入,很容易出错 如果全部在一个.h, include 那么每个.c,.cpp文件只需要一个#include 语句 这样不仅输入量减少, 而且代码也美观多了 代码也主次分明了 毕竟,.c.cpp, 里面 要实现的函数,才是主要代码 2)主要缺陷, 正像2楼所说 可能会包含完全不需要的头文件, 增加编译工作量
sg_knight 2014-09-04
  • 打赏
  • 举报
回复
#include尽量写到cpp文件里。
别逗爷很凶 2014-09-04
  • 打赏
  • 举报
回复
两个文件在.h文件里相互include,就会产生编译错误,而两个文件在.c文件互相include,就不会有该问题,因此在.h文件include就要避免互相包含的问题,而.cpp文件就不需要考虑
www_adintr_com 2014-09-04
  • 打赏
  • 举报
回复
在 .h 里面 include 所有其他 include 了你这个 .h 文件的也会把你 include 的加进去,增加了其他编译单元的代码量,编译起来更慢

65,198

社区成员

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

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