0

AFAIK,预处理器模式很简单:你给 ccache 一个预处理源,它对源和命令行参数进行哈希处理,然后存储所有相应的信息,如标准错误、目标文件等。

但是什么是直接模式,为什么它要快得多?它背后的概念是什么?

4

2 回答 2

1

“直接模式”中的“直接”是指“不使用预处理器直接读取头文件”。这样做是因为与仅读取包含文件内容相比,大多数预处理器相对较慢。这是因为预处理器必须做一些事情,比如扩展宏来产生正确的预处理输出。对于 ccache 的目的,识别头文件的内容就足够了,而不是在计算哈希时对内容进行正确的预处理。

另请参阅ccache 手册中的 ccache如何工作部分。

于 2014-07-17T13:26:19.870 回答
0

http://ccache.samba.org/performance.html

对于缓存未命中,直接模式比预处理器模式具有更高的开销,但缓存命中要快得多希望这对您有所帮助。

于 2014-02-11T09:04:47.300 回答