10

ccacheGNU/Linuxでの有効化に関するドキュメントはほとんどありません。これがlaunchpad.netからの応答です:

現時点では、ccacheを有効にする最善の方法は、パスの前に「/ usr / lib/ccache」を追加することだと思います。デフォルトですべてのユーザーに対して有効にする場合は、/ etc/environmentのPATH変数を変更します。

誰かが有効にすることについてもっと情報を教えてもらえますかccache

4

4 に答える 4

5

少なくとも 2 つの方法があります。

i) Makefile のCC, CXX, ... フラグをオーバーライドします。R フレームワーク内で、システムとオプションのユーザー構成ファイルが読み込まれ、設定するだけです

VER=4.7
CC=ccache gcc-$(VER)
CXX=ccache g++-$(VER)
SHLIB_CXXLD=g++-$(VER)
FC=ccache gfortran
F77=ccache gfortran

これにより、バージョン間を行き来することもできgccます。現在、R を使用するすべてのコンパイルでccache.

/usr/local/bin/ii) 他の用途については、 の前にチェックされた事実を展開しました/usr/bin。だからできる

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:

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$ 
于 2013-01-27T17:06:24.577 に答える
4

ccacheのマニュアルには、 ccache をアクティブにする公式の方法を説明する実行モードと呼ばれるセクションがあるので、マニュアルを読むことをお勧めします。

また、すでに指摘したように、Linux ディストリビューションは多くの場合、PATH の先頭に追加されるように設計された /usr/lib/ccache ディレクトリを設定します。

于 2013-01-27T16:54:36.850 に答える
2

別の可能性 ( export CC=ccacheKeltar によるコメントの代わりに)が前に$HOME/bin/リストされている場合、シンボリックリンクを作成することです$PATH/usr/bin/

 ln -s /usr/bin/ccache $HOME/bin/gcc

次に、すべてのexecvp(3)gccそのシンボリックリンクを見つけます

于 2012-12-19T06:36:27.197 に答える