2017-07-09 12 views
0

SConsを使用してC++アプリケーションを構築しています。私は、コンパイル単位ごとに、データベースでこれらの時間を保存したいSConsを使用してコンパイル単位ごとにコンパイル時間を抽出する

a.cpp -> a.o - took 2.4 seconds 
main.cpp -> main.o - took 5.1 seconds 

:私はそれのような、個別にすべてのコンパイル単位を構築するのにかかる時間を抽出したいと思います。

問題はSConsがコンパイル単位を作成するオブジェクト/プログラムビルダーでビルドされていることと、タイミング/データベース保存コードを追加する方法を理解していないことです。ある意味では、私はすでに存在するビルダーをラップすることを考えています。

これを達成する良い方法は何ですか?

+0

[time](https://linux.die.net/man/1/time)の呼び出しで何かをラップすることができます。 –

+0

@JesperJuhl私は時間utilを知っていますが、実際には読んだことがありますか質問?私はそれをどのように私が記述したものを達成するために適用できるでしょうか? – Tobias

+0

スクリプト内のsconsをラッピングしたら、scons --debug = timeを使って出力を解析します。そうでない場合は、各コンパイルのアクションをハックする必要があります。また、各コンパイルの時間を取得する開始アクションと終了アクションも必要です。 – bdbaddog

答えて

1

スクリプトでsconsをラップし、scons --debug=timeを使用して出力を解析します。

関連する問題