include头文件什么情况应该放到CPP中,什么情况应该放到H文件中?

Kaile 2005-08-31 10:05:46
小弟对#include "xxx.h"应该放到H文件还是CPP文件总是不得要领,请高手解释一下。
...全文
662 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
MuseIn 2005-08-31
  • 打赏
  • 举报
回复
需要的时候就包含,不需要的时候就不不包含
qinxiaogang 2005-08-31
  • 打赏
  • 举报
回复
最好放在CPP里,可以防止h的第归包含
mynamelj 2005-08-31
  • 打赏
  • 举报
回复
內联函数放在头文件中,一般的如果类比较大或是比较复杂应分别以头文申明源文件实现.
shangguancheng 2005-08-31
  • 打赏
  • 举报
回复
这个要看具体情况了
快乐鹦鹉 2005-08-31
  • 打赏
  • 举报
回复
我现在全部放在h文件中,要不要修改一下?
===最好改一下。
Kudeet 2005-08-31
  • 打赏
  • 举报
回复
我的建议是尽可能在头文件里声明类,CPP文件里包含头文件,如果需要。比如一个类,可以在头文件里class ClassName;这样编译的效率要高一些
Kaile 2005-08-31
  • 打赏
  • 举报
回复
我现在全部放在h文件中,要不要修改一下?
i_noname 2005-08-31
  • 打赏
  • 举报
回复
一般放在cpp中就可以了,但如果用到别的类对象作为成员的话就要在.h中include
////////a.h//////////
class A
{
...
}
======================
///////b.h//////////
class a;
class B
{
A *pa;
}
///////b.cpp/////////
#include "a.h"
======================
///////c.h///////////
#include "a.h"
class C
{
A aa;
}
快乐鹦鹉 2005-08-31
  • 打赏
  • 举报
回复
很简单阿,如果头文件中定义变量(包括成员变量以及函数参数类型)需要用到某个头文件中的定义,那么就需要在.h中包含该头文件;否则,如果只是在cpp中编写函数代码时需要用到某个头文件中的定义,那么只需要在cpp中包含该头文件就可以了。
设备树(device tree)机制是Linux内核从linux-3.x版本开始引进的一种机制,目的是解决内核源码的arch/arm目录下代码混乱的问题:随着ARM生态的快速发展,在内核源码的arch/arm目录下,存放着几十种arm芯片和几百个开发板相关的源文件,很多开发板和处理器的断、寄存器等相关硬件资源都在这个目录下以.c或.h的文件格式定义。而对于内核来说,与这些硬件耦合,会导致内核代码混乱不堪,每个开发板上运行的内核镜像都必须单独编译配置,无法通用。什么时候Linux内核能像Windows镜像那样,无论你的电脑什么配置,一个Windows安装包,都可以直接下载安装运行呢?设备树机制,实现了Linux内核和硬件平台的解耦:每个硬件平台的硬件资源使用一个设备树文件(xxx.dts)来描述,而不是在arch/arm下以.c 或 .h 文件来定义。Linux内核是一个通用的内核,在启动过程,在通过解析设备树的硬件资源来初始化某个具体的平台。 引入设备树后,很多和内核驱动开发的工作也发生了变化:以往驱动工程师关注的文件宏定义、寄存器定义,现在这些基本上不用关注,关注的重点则转向了如何根据硬件平台去配置和修改设备树文件。很多驱动的编程接口也发生了变化,开始慢慢使用device tree提供的编程接口去开发驱动。本期课程主要面向嵌入式开发人员,分享Linux下驱动开发所需要的设备树知识和必备技能

16,465

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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