10

profile-generatepgオプションの違いを説明できる人はいますか?

4

1 に答える 1

12

どちらもプロファイル データを生成します。しかし、それらの使用法は異なります。

fprofile-generateを使用して再度コンパイルするときに、コンパイラにフィードバックを提供するために再利用できるプロファイリング情報を含むバイナリを生成することですfprofile-use

例えば:

$ gcc -fprofile-generate filename.c

about コマンドで生成されたバイナリを実行するとfilename.gcda、プロファイル データを含むファイルが生成されます。

fprofile-use再度コンパイルすると、次のようになります。

$ gcc -fprofile-use filename.c

今回は、gcc はそのデータを使用してfilename.gcdaさらに最適化します。

でコンパイルされたバイナリを実行すると、後でコマンドを使用してコードを分析するために使用できるバイナリ-pgが生成されます。これは、コード パスに関する情報を提供する静的分析に似ています。gmon.outgprof

于 2012-09-21T12:47:19.117 に答える