ccache如何让C编译速度飙升?🚀
- 内容介绍
- 文章标签
- 相关推荐

哎,说起C语言编译,那简直就是程序员的噩梦啊!特bie是大型项目,动辄几个小时甚至一整天!我曾经为了一个小小改动,编译了足足半天…当时感觉人生dou灰暗了。 试试水。 dan是!自从我发现了ccache这个宝贝,我的生活彻底改变了!真的,不是吹的!
什么是ccache?别怕, 其实hen简单
它不是魔法,但有点像
别怕... ccache 简单就是一个编译器缓存。 你懂的吧?就是把编译器Yi经编译过的对象文件给存起来。下次再编译同样的源文件时它会先kankan缓存里有没有对应的文件。如guo有的话,直接从缓存里取出来用,省去了重新编译的时间。 这就像你经常吃的零食一样,不用每次dou去超市买嘛!
有人可Neng会说:“这有什么了不起?编译器自己不也有缓存机制吗?” 嘿嘿,编译器自己的缓存通常只针对当前编译过程有效。关掉编译器再打开呢? 奥利给! 全没了! ccache不一样啊,它把缓存存到磁盘上,持久化存储!而且它可yi跨会话使用。是不是hen棒?
为什么C语言编译慢?
要搞清楚ccache有多厉害,得先知道C语言编译为什么这么慢。其实原因挺多的:
- 预处理: 把你的代码展开宏定义、包含头文件等等…这一步可费时间了!
- 编译: 把预处理后的代码翻译成汇编语言。
- 汇编: 把汇编语言翻译成目标文件 。
- 链接: 把目标文件和库文件链接成到头来的可施行文件。
而且这些步骤经常需要重复施行。

哎,说起C语言编译,那简直就是程序员的噩梦啊!特bie是大型项目,动辄几个小时甚至一整天!我曾经为了一个小小改动,编译了足足半天…当时感觉人生dou灰暗了。 试试水。 dan是!自从我发现了ccache这个宝贝,我的生活彻底改变了!真的,不是吹的!
什么是ccache?别怕, 其实hen简单
它不是魔法,但有点像
别怕... ccache 简单就是一个编译器缓存。 你懂的吧?就是把编译器Yi经编译过的对象文件给存起来。下次再编译同样的源文件时它会先kankan缓存里有没有对应的文件。如guo有的话,直接从缓存里取出来用,省去了重新编译的时间。 这就像你经常吃的零食一样,不用每次dou去超市买嘛!
有人可Neng会说:“这有什么了不起?编译器自己不也有缓存机制吗?” 嘿嘿,编译器自己的缓存通常只针对当前编译过程有效。关掉编译器再打开呢? 奥利给! 全没了! ccache不一样啊,它把缓存存到磁盘上,持久化存储!而且它可yi跨会话使用。是不是hen棒?
为什么C语言编译慢?
要搞清楚ccache有多厉害,得先知道C语言编译为什么这么慢。其实原因挺多的:
- 预处理: 把你的代码展开宏定义、包含头文件等等…这一步可费时间了!
- 编译: 把预处理后的代码翻译成汇编语言。
- 汇编: 把汇编语言翻译成目标文件 。
- 链接: 把目标文件和库文件链接成到头来的可施行文件。
而且这些步骤经常需要重复施行。

