c语言中.h文件和.cpp文件解析

您所在的位置:网站首页 cpp文件用什么打开手机 c语言中.h文件和.cpp文件解析

c语言中.h文件和.cpp文件解析

2023-07-16 02:03| 来源: 网络整理| 查看: 265

理论上来说cpp文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体实现,任何一个cpp文件包含此头文件就可以将这个函数编译成目标文件的一部分(编译是以cpp文件为单位的,如果不在任何cpp文件中包含此头文件的话,这段代码就形同虚设),你可以在cpp文件中进行函数声明、变量声明、结构体声明,这也不成问题!!!

那为何一定要分成头文件与cpp文件呢?

又为何一般都在头件中进行函数、变量声明,宏声明,结构体声明呢?而在cpp文件中去进行变量定义,函数实现呢??

原因如下:

  1.如果在头文件中实现一个函数体,那么如果在多个cpp文件中引用它,而且又同时编译多个cpp文件,将其生成的目标文件连接成一个可执行文件,在每个引用此头文件的cpp文件所生成的目标文件中,都有一份这个函数的代码,如果这段函数又没有定义成局部函数,那么在连接时,就会发现多个相同的函数,就会报错,函数重复定义。

  2.如果在头文件中定义全局变量,势必会对此全局变量赋初值,那么在多个引用此头文件的cpp文件中同样存在相同变量名的拷贝,关键是此变量被赋了初值,所以编译器就会将此变量放入DATA段,最终在连接阶段,会在DATA段中存在多个相同的变量,



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3