如何提高C++的编译速度
来源:互联网 发布:java输入char字符串 编辑:程序博客网 时间:2024/06/06 13:36
用C++开发的人都知道,C++的编译速度比较慢,为什么比较慢,有一个原因是因为C++编译时,会把include里面的文件全部都编译进来,如果能想办法减少include的文件,那么就可以提高编译速度了。
那么问题就来了,在一个文件中要使用一个class,至少要让编译器知道有这个class啊,不include怎么办,其实可以使用前置申明的方法。
示例如下:
设计一个杯子的类Cup
class Cup
{
public:
Cup();
virtual ~Cup(); //为什么是virtual大家都懂的哈
private:
class CupImpl; //前置申明
boost::shared_ptr<CupImpl> cup_implement_;
}
CupImpl的实现如下:
class CupImpl
{
public:
CupImpl();
virtual ~CupImpl(); //为什么是virtual大家都懂的哈
public:
func();
private:
}
这样可以避免在class Cup的前面include头文件。还有两个好处:
好处一:类的实现和接口是分离的,降低了耦合性;
好处二:提高二进制的兼容性,尤其是Cup类作为动态链接库的借口对外提供;
这种做法有一个高大上的名字:编译防火墙
阅读全文
0 0
- 如何提高大型工程的编译速度?
- 如何提高Xcode的编译速度??
- 如何提高编译snap应用的速度
- 如何提高C++的编译速度
- 如何提高vs2010编译速度?
- 关注下micropython1.4.5的pendsv.C以及如何提高编译速度
- 如何提高vcs以及irun的编译与仿真速度
- 如何将 iOS 项目的编译速度提高5倍
- 如何将 iOS 项目的编译速度提高5倍
- 如何将 iOS 项目的编译速度提高5倍
- 如何将 iOS 项目的编译速度提高5倍
- 提高Xcode 的编译速度
- 如何提高VS2010/VS2012编译速度
- [针对初学者]Cocos 如何提高编译速度
- 如何提高电脑的速度
- 如何提高Scrollist的速度
- 提高编译速度的一点经验
- MDK 提高编译速度的方法
- 用户注册的ajax请求
- mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
- Java迭代器Iterator原理和使用总结
- 学习淘淘商城第九十三课(用户登录的实现)
- java语言基础(63)——日期时间处理方法(Date DateFormat Calendar)
- 如何提高C++的编译速度
- [LeetCode]Subarray Sum Equals K
- x264 码率控制:mb-tree
- HTTP常用状态码
- Win7重新受到用户追捧,竟然因为勒索病毒!
- Python学习练习3----Dictionary(字典)
- DPDK测试
- 真正的成功只有一个, 就是按照自己喜欢的方式, 去度过人生.
- Solr-6.5.1环境搭建