問題タブ [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.
gcc - ccacheと一緒にgccを使用する
チーム全体でgccコンパイル済みコードでccacheを使用することを考えていました(同じマシン上のすべての開発者が同じccacheのキャッシュを使用します)。
商用製品について話しているので、コンパイルの「正確さ」が最優先事項です。
ここに質問があります:
ccacheを使用したコンパイルは安全/再現可能ですか?ccacheがキャッシュヒットを誤って想定する例外的な状況はありますか?
ソースコードをチェックアウトしてコンパイルすると、新しいコンパイルプロセスを繰り返すたびに、同じ製品(まったく同じライブラリ/バイナリ)を受け取ることが期待されます。これは、商用製品には必須です。
- ビルドシステムの不可欠な部分であるccacheを使用するオープンソース/商用製品はありますか?これにより、同僚にccacheを使用するように説得しやすくなります。
ありがとう
c++ - CMake で CCache を使用するには?
私は次のことをしたいと思います: CCache が PATH に存在する場合は、コンパイルに "ccache g++" を使用し、それ以外の場合は g++ を使用します。を含む小さな my-cmake スクリプトを書いてみました
しかし、うまくいかないようです (make を実行しても ccache は使用されません。CMAKE_VERBOSE_MAKEFILE をオンにして確認しました)。
アップデート:
このリンクに従って、スクリプトを次のように変更しようとしました
しかし、cmake は、コンパイラの ccache を使用するとテストが失敗したと不平を言います (これは予想されることです)。
visual-studio - Visual Studio 用の「ccache」はありますか?
scons
が の機能を実装していることは承知していますccache
が、別のビルド システムに行き詰まっています。
gocache
また、SourceForge に のような機能を他のコンパイラに実装することを目的としたプロジェクトがあることも知っていますが、ccache
完全ではないようです。
gcc - g++、colorgcc、ccache
ccache と colorgcc を組み合わせようとしています。次のリンク テキスト:
- 私のg ++はcolorgccへのソフトリンクです
- ~/.colorgccrc には次の行が含まれます: "g++: ccache /usr/bin/g++"
g++ --version の実行時:
それを解決する方法はありますか?
gcc - 別のディレクトリにあるコンパイル済みファイルへの絶対パスを使用する場合、ccache キャッシュ コンパイルを行うにはどうすればよいですか?
CMake を使用して makefile を作成します。CMake は、絶対パスを含む GCC 行を作成します。
コンパイルを高速化するために、ccache を使用します。
異なる場所から同じコードをビルドすると (たとえば、複数の開発者がそれぞれのホーム ディレクトリの下で同じコードをコンパイルする)、ccache キャッシュ ミスが発生します。
linux - ccacheを選択的に使用する方法は?
C ++で記述されたアプリの複数のバージョンをコンパイルする必要があり、プロセスを高速化するためにccacheを使用すると思います。
ccacheハウツーには、gcc、g ++などの名前のシンボリックリンクを作成し、それらが元のgccバイナリの前にPATHに表示されるようにすることを提案する例があるため、代わりにccacheが使用されます。
これまでのところ良いですが、常にではなく、この特定のアプリをコンパイルするときにのみccacheを使用したいと思います。
もちろん、アプリをコンパイルするたびにこれらのシンボリックリンクを作成し、アプリのコンパイル時に削除するシェルスクリプトを作成することもできます。しかし、これは私にはファイルシステムの悪用のように見えます。
常にではなく、ccacheを選択的に使用するためのより良い方法はありますか?
単一のソースコードファイルをコンパイルするには、gccの代わりに手動でccacheを呼び出して実行することもできますが、複数のソースコードファイルに自動ビルドシステムを使用する複雑なアプリを処理する必要があります。
cmake - ccacheはCMakeファイルを削除せずにキャッシュにヒットしません
CMakeでccacheを使用しようとしています。gcc
、、という名前のシンボリックリンクをに配置g++
しc++
ました/usr/local/bin
。を実行make
し、コンパイルされたファイルに影響を与えない変更をCMakeLists.txtに追加し(すべてのターゲットを強制的にビルドさせるために未使用のライブラリを追加)、再実行するmake
と、ccacheがないかのようにすべてが再コンパイルされます。ただし、CMakeで生成されたすべてのファイルを削除してから呼び出すとcmake; make
、CMakeLists.txtを変更しても、すべてが正常に機能し、オブジェクトファイルがキャッシュから取得されます。
CMakeによって生成されたものがキャッシュにヒットするのを防ぐように見えます。make
との両方の詳細な出力を検索しようとしましcmake
たが、この動作を引き起こす可能性のある依存関係は見つかりませんでした。
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倍になります。
windows - Windows で MingW を使用した ccache
ccache を使用しようとしていますが、プロジェクトをコンパイルしようとすると次のエラーが発生します。
ccache: FATAL: キャッシュ ディレクトリを特定できません
ここからファイルをダウンロードします。ccache が使用する適切なディレクトリを知るにはどうすればよいですか。
c# - .Netおよび/またはmonoに相当するccacheまたはdistccはありますか
私は最近、LinuxとWindowsでかなり多くのc#をビルドしてきましたが、ビルド間の変更の多くは、それでも永遠にかかります。
gccとg++を使用する場合、ccacheと、それほどではないがdistccを使用することで、速度が大幅に向上します。WindowsまたはモノラルのC#コンパイラに相当するものはありますか?