<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://www.gentoo-zh.org/extern.php?action=feed&amp;tid=668&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo中文社区 / Gentoo:关于ccache的使用]]></title>
		<link>https://www.gentoo-zh.org/viewtopic.php?id=668</link>
		<description><![CDATA[Gentoo:关于ccache的使用 最近发表的帖子。]]></description>
		<lastBuildDate>Sun, 29 Jan 2023 06:59:30 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Gentoo:关于ccache的使用]]></title>
			<link>https://www.gentoo-zh.org/viewtopic.php?pid=734#p734</link>
			<description><![CDATA[<p>发现自己脑子挺笨的，一个ccache，gentoo文档上就写了那么点，今天才终于明白了</p><p>列一下安装使用步骤吧：</p><p>代码 3.1: 安装ccache</p><p># emerge ccache</p><p>激活Portage支持</p><p>打开/etc/Portage/make.conf并添加ccache到FEATURES变量。然后添加一个新的变量CCACHE_SIZE并设置它为&quot;2G&quot;:</p><p>代码 3.2: 在/etc/Portage/make.conf中设定CCACHE_SIZE</p><p>CCACHE_SIZE=&quot;2G&quot;</p><p>最后，在make.conf中加上</p><p>CCACHE_DIR=&quot;/var/tmp/ccache&quot;</p><p>这样就算基本安装好了，很简单吧</p><p>使用的时候，其缓存的内容分为两种：portage中的包编译时候的缓存和非portage中的包编译时候的缓存。当你编译portage的包的时候，其缓存的数据，存储在上面的CCACHE_DIR变量指定的文件夹中：&quot;/var/tmp/ccache&quot;中，因为/var/tmp/ccache是Portage的默认ccache主目录（我想你当然也可以把默认目录改成别的）。</p><p>如果你要编译的是非portage中的包，那么你要对上面的步骤在补充一步操作：</p><p>（官方内容）：</p><p>添加/usr/lib/ccache/bin到您PATH参数里靠前的位置（在/usr/bin之前）。这一点可以通过编辑在您用户主目录中的.bash_profile文件来实现。使用.bash_profile是定义PATH参数的一个方式.</p><p>老实说，我是没找到我的目录下的.bash_profile文件，所以我选择修改/etc/profile中的PATH变量</p><p>我加了这样一句：PATH=&quot;/usr/lib/ccache/bin:/opt/bin:${PATH}&quot;<br />你编译非portage中的包的时候，其缓存数据是默认存储在：${HOME}/.ccache中的，就是你的用户目录下面.ccache目录，我是root登录，所以在我的/root/下有一个.ccache目录，这里面就是我们编译非portage中的包的缓存数据</p><p>这样，我们才算彻底配置好了ccache了</p><p>那么下面是如何使用的方法了。其实使用，也就是查看他有没有缓存编译的数据</p><p>编译非portage得包的时候直接输入：</p><p>ccache -s就可以看到数据结果了，以我的为例：</p><p>cache directory&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;/root/.ccache<br />&#160; &#160; &#160; &#160; cache hit&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;33<br />&#160; &#160; &#160; &#160; cache miss&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 2030<br />&#160; &#160; &#160; &#160; called for link&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 144<br />&#160; &#160; &#160; &#160; not a C/C++ file&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;6<br />&#160; &#160; &#160; &#160; files in cache&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 4060<br />&#160; &#160; &#160; &#160; cache size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 44.9 Mbytes<br />&#160; &#160; &#160; &#160; max cache size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;976.6 Mbytes</p><p>看起来还是比较一目了然的。</p><p>那如果你在编译portage的包的时候要查看这些数据，就要指定上面我们说的portage的默认文件夹了，输入：</p><p>CCACHE_DIR=&quot;/var/tmp/ccache&quot; ccache -s&#160; (这里查看的就是portage默认文件夹的缓存数据结果了)</p><p>结果：</p><p>cache directory&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;/var/tmp/ccache<br />&#160; &#160; &#160; &#160; cache hit&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 0<br />&#160; &#160; &#160; &#160; cache miss&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;0<br />&#160; &#160; &#160; &#160; files in cache&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;0<br />&#160; &#160; &#160; &#160; cache size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;0 Kbytes<br />&#160; &#160; &#160; &#160; max cache size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;2.0 Gbytes</p><p>看到了，我们刚才设置过他的缓存大小为：2GB的，我并没有编译portage的包，所以，上面的数据都是</p><p>终于算搞明白这个东西了，乌拉～～～～～～</p>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Sun, 29 Jan 2023 06:59:30 +0000</pubDate>
			<guid>https://www.gentoo-zh.org/viewtopic.php?pid=734#p734</guid>
		</item>
	</channel>
</rss>
