首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux上启用ccache

如何在Linux上启用ccache
EN

Stack Overflow用户
提问于 2012-12-18 09:05:39
回答 4查看 21.7K关注 0票数 10

在GNU/Linux上启用ccache的文档很少。以下是来自launchpad.net的响应

目前,我认为启用ccache的最佳方法是在路径前面添加"/usr/lib/ccache“。如果默认情况下要为所有用户启用路径变量,请在/etc/环境中更改路径变量。

有人能给我更多关于启用ccache的信息吗?

EN

回答 4

Stack Overflow用户

发布于 2016-01-06 15:53:31

下载最新版本的卡巴奇以获得更好的性能。

下载后,按照下面提到的步骤执行:

A)使用以下命令锁定文件:

代码语言:javascript
复制
 $tar -xvf ccache-3.2.4.tar.bz2
 
 Note : I'm using ccache 3.2.4 Version.You can download the latest one.

B)进入ccache-3.2.4文件夹并运行以下命令:

代码语言:javascript
复制
 $./configure
 $./make 
 $ sudo make install

C)转到.bashrc并插入以下内容:

代码语言:javascript
复制
 export CCACHE_DIR=/home/user_name/.ccache
 export CCACHE_TEMPDIR=/home/user_name/.ccache

 Note : Fill user_name with your User Name

D)保存Bashrc并将其来源于

代码语言:javascript
复制
 $ source ~/.bashrc

( E)检查ccache是否工作类型:

代码语言:javascript
复制
 ccache -M 10G : To Set the ccache Size to 10GB

( F)检查ccache是否工作类型:

代码语言:javascript
复制
 ccache -s : To check ccache statistics 
票数 7
EN

Stack Overflow用户

发布于 2013-01-27 16:54:36

ccache手册有一个叫做运行模式的部分,它描述了激活ccache的官方方法,所以我建议阅读手册。

另外,正如您已经注意到的,Linux发行版通常设置一个/usr/lib/ccache目录,该目录被设计为要添加到PATH。

票数 5
EN

Stack Overflow用户

发布于 2013-01-27 17:06:24

至少有两种方法:

我要覆盖CCCXX,.标记在Makefile中。在R框架内,读取系统和可选用户配置文件,我只需设置

代码语言:javascript
复制
VER=4.7
CC=ccache gcc-$(VER)
CXX=ccache g++-$(VER)
SHLIB_CXXLD=g++-$(VER)
FC=ccache gfortran
F77=ccache gfortran

这也允许我在gcc版本之间来回切换。现在,所有涉及R的编译都使用ccache

(2)对于其他用途,我部署了一个事实,即/usr/local/bin/是在/usr/bin之前检查的。所以我们可以做

代码语言:javascript
复制
root@max:/usr/local/bin# ls -l gcc
lrwxrwxrwx 1 root root 15 Jan 27 11:04 gcc -> /usr/bin/ccache
root@max:/usr/local/bin# ./gcc --version
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@max:/usr/local/bin# 

现在,gcc通过ccache调用。

代码语言:javascript
复制
edd@max:/tmp$ cp -vax ~/src/progs/C/benfordsLaw.c .
`/home/edd/src/progs/C/benfordsLaw.c' -> `./benfordsLaw.c'
edd@max:/tmp$ time /usr/local/bin/gcc -c benfordsLaw.c 

real    0m0.292s
user    0m0.052s
sys     0m0.012s
edd@max:/tmp$ time /usr/local/bin/gcc -c benfordsLaw.c 

real    0m0.026s
user    0m0.004s
sys     0m0.000s
edd@max:/tmp$ 
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13929514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档