問題タブ [ccache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2464 参照

gcc - ccacheと一緒にgccを使用する

チーム全体でgccコンパイル済みコードでccacheを使用することを考えていました(同じマシン上のすべての開発者が同じccacheのキャッシュを使用します)。

商用製品について話しているので、コンパイルの「正確さ」が最優先事項です。

ここに質問があります:

  1. ccacheを使用したコンパイルは安全/再現可能ですか?ccacheがキャッシュヒットを誤って想定する例外的な状況はありますか?

    ソースコードをチェックアウトしてコンパイルすると、新しいコンパイルプロセスを繰り返すたびに、同じ製品(まったく同じライブラリ/バイナリ)を受け取ることが期待されます。これは、商用製品には必須です。

  2. ビルドシステムの不可欠な部分であるccacheを使用するオープンソース/商用製品はありますか?これにより、同僚にccacheを使用するように説得しやすくなります。

ありがとう

0 投票する
9 に答える
52263 参照

c++ - CMake で CCache を使用するには?

私は次のことをしたいと思います: CCache が PATH に存在する場合は、コンパイルに "ccache g++" を使用し、それ以外の場合は g++ を使用します。を含む小さな my-cmake スクリプトを書いてみました

しかし、うまくいかないようです (make を実行しても ccache は使用されません。CMAKE_VERBOSE_MAKEFILE をオンにして確認しました)。

アップデート:

このリンクに従って、スクリプトを次のように変更しようとしました

しかし、cmake は、コンパイラの ccache を使用するとテストが失敗したと不平を言います (これは予想されることです)。

0 投票する
5 に答える
16013 参照

visual-studio - Visual Studio 用の「ccache」はありますか?

sconsが の機能を実装していることは承知していますccacheが、別のビルド システムに行き詰まっています。

gocacheまた、SourceForge に のような機能を他のコンパイラに実装することを目的としたプロジェクトがあることも知っていますが、ccache完全ではないようです。

0 投票する
7 に答える
11390 参照

gcc - g++、colorgcc、ccache

ccache と colorgcc を組み合わせようとしています。次のリンク テキスト:

  • 私のg ++​​はcolorgccへのソフトリンクです
  • ~/.colorgccrc には次の行が含まれます: "g++: ccache /usr/bin/g++"

g++ --version の実行時:

それを解決する方法はありますか?

0 投票する
2 に答える
4105 参照

gcc - 別のディレクトリにあるコンパイル済みファイルへの絶対パスを使用する場合、ccache キャッシュ コンパイルを行うにはどうすればよいですか?

CMake を使用して makefile を作成します。CMake は、絶対パスを含む GCC 行を作成します。

コンパイルを高速化するために、ccache を使用します。

異なる場所から同じコードをビルドすると (たとえば、複数の開発者がそれぞれのホーム ディレクトリの下で同じコードをコンパイルする)、ccache キャッシュ ミスが発生します。

0 投票する
4 に答える
18205 参照

linux - ccacheを選択的に使用する方法は?

C ++で記述されたアプリの複数のバージョンをコンパイルする必要があり、プロセスを高速化するためにccacheを使用すると思います。

ccacheハウツーには、gcc、g ++などの名前のシンボリックリンクを作成し、それらが元のgccバイナリの前にPATHに表示されるようにすることを提案する例があるため、代わりにccacheが使用されます。

これまでのところ良いですが、常にではなく、この特定のアプリをコンパイルするときにのみccacheを使用したいと思います。

もちろん、アプリをコンパイルするたびにこれらのシンボリックリンクを作成し、アプリのコンパイル時に削除するシェルスクリプトを作成することもできます。しかし、これは私にはファイルシステムの悪用のように見えます。

常にではなく、ccacheを選択的に使用するためのより良い方法はありますか?

単一のソースコードファイルをコンパイルするには、gccの代わりに手動でccacheを呼び出して実行することもできますが、複数のソースコードファイルに自動ビルドシステムを使用する複雑なアプリを処理する必要があります。

0 投票する
2 に答える
838 参照

cmake - ccacheはCMakeファイルを削除せずにキャッシュにヒットしません

CMakeでccacheを使用しようとしています。gcc、、という名前のシンボリックリンクをに配置g++c++ました/usr/local/bin。を実行makeし、コンパイルされたファイルに影響を与えない変更をCMakeLists.txtに追加し(すべてのターゲットを強制的にビルドさせるために未使用のライブラリを追加)、再実行するmakeと、ccacheがないかのようにすべてが再コンパイルされます。ただし、CMakeで生成されたすべてのファイルを削除してから呼び出すとcmake; make、CMakeLists.txtを変更しても、すべてが正常に機能し、オブジェクトファイルがキャッシュから取得されます。

CMakeによって生成されたものがキャッシュにヒットするのを防ぐように見えます。makeとの両方の詳細な出力を検索しようとしましcmakeたが、この動作を引き起こす可能性のある依存関係は見つかりませんでした。

0 投票する
3 に答える
460 参照

visual-c++ - MSVCで前処理されたソースコードだけを取得するための最速の方法は何ですか?

私は、Cソースファイルの完全な前処理されたソースコード(#line情報やコメントは必要ありません。生のソースコードのみ)を取得するための最速の方法を見つけようとしています。

Windowsヘッダーファイル(mini.c)を含む次の小さなテストプログラムがあります。

次に、Microsoft Visual Studio 2005を使用して、次のコマンドを実行します。

これは、2.5MBのmini.iファイルを生成するのに6秒かかります。これをに変更します

(コメントと#line情報をスキップします)2.1MBの出力を書き込むのにわずか0.5秒かかります。

プリコンパイル済みヘッダーを使用せずに、これをさらに改善するための優れたテクニックを知っている人はいますか?

私が尋ねている理由は、MSVC用の人気のあるccacheツールのバリアントを作成したためです。作業の一環として、プログラムは前処理されたソースコード(およびその他のいくつか)のハッシュサムを計算する必要があります。これをできるだけ速くしたいと思います。

たぶん、利用可能な専用のプリプロセッサバイナリ、または役立つかもしれない他のコマンドラインスイッチがありますか?

更新:頭に浮かんだアイデアの1つは、WIN32_LEAN_AND_MEANマクロを定義して、めったに必要とされない多くのコードを取り除くことです。これにより、上記のプリプロセッサの実行速度が約3倍になります。

0 投票する
1 に答える
3031 参照

windows - Windows で MingW を使用した ccache

ccache を使用しようとしていますが、プロジェクトをコンパイルしようとすると次のエラーが発生します。

ccache: FATAL: キャッシュ ディレクトリを特定できません

ここからファイルをダウンロードします。ccache が使用する適切なディレクトリを知るにはどうすればよいですか。

0 投票する
1 に答える
641 参照

c# - .Netおよび/またはmonoに相当するccacheまたはdistccはありますか

私は最近、LinuxとWindowsでかなり多くのc#をビルドしてきましたが、ビルド間の変更の多くは、それでも永遠にかかります。

gccとg++を使用する場合、ccacheと、それほどではないがdistccを使用することで、速度が大幅に向上します。WindowsまたはモノラルのC#コンパイラに相当するものはありますか?