C++的头文件

C++头文件(.h文件)一些函数变量声明的,函数实现可能在lib或dll中(源码不可见),可能在obj(cpp,源码可见)中,

使用原因是:

1)源码可见:保护源码(牟利或者安全考量)这样调用函数时候,只需要知道函数接口(函数名,参数返回值);如果没有头文件技术,每次使用需要函数源代码工程源文件进行统一编译。

2)源码可见:不用每次调用函数函数代码写到相应源文件中,因为调用时候只需要知道函数接口即可。


还有一种头文件,可以成为扩展头文件。.hpp(header plus plus)文件是.h文件扩展,将.cpp(c plus plus)文件内容放到.h文件中,这样.cpp代码将被编译头文件时候执行,具有优先执行特权。这样失去了上面头文件优点,新增加一些优势:

该类的调用者只需要include该文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用这种方式将大幅度减少调用 project中的cpp文件数与编译次数,只需“#include <xxx>”就可以使用类库的相应功能,不需要link到.lib/.a/.so/.dll等静/动态库。使用者方便,维护者省事,特别是对于一些轻量级的类库,因此非常适合用来编写公用的开源库。类似的例子有STL和boost中的一些组件以及正则库DEELX等等。

原文地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值