プロファイル情報のダンプ

_PGOPTI_Prof_Dump_All() 関数は、インストルメント済みアプリケーションによって収集されたプロファイル情報をダンプします。この関数呼び出しのプロトタイプは次のとおりです。

構文

void _PGOPTI_Prof_Dump_All(void);

この関数の以前のバージョン、_PGOPTI_Prof_Dump() でもプロファイル情報をダンプできます。Linux* でプログラムを終了するために共有ライブラリー (.so) および exit() と関連して使用された場合を除いて、以前の関数は _PGOPTI_Prof_Dump_All() のように動作します。_PGOPTI_Prof_Dump_All() がプログラムを終了するために _exit() の前に呼び出された場合、新しい関数は .dyn ファイルを作成する必要があるすべての共有ライブラリーで .dyn ファイルが作成されることを保証します。Linux での移植性および正確な動作のためには、_PGOPTI_Prof_Dump_All() を使用してください。

プロファイル情報は、.dyn ファイル (PGO のフェーズ 2 で生成) に作成されます。

推奨する使用方法

ユーザー・アプリケーションを終了する関数本体にこの関数への呼び出しを挿入します。通常、_PGOPTI_Prof_Dump_All() の呼び出しは、一度だけでなければなりません。この関数を _PGOPTI_Prof_Reset() 関数とともに使用して、(入力データの複数のセットから) 複数の .dyn ファイルを作成できます。

#include <pgouser.h>

void process_data(int foo) {}

int  get_input_data() { return 1; }

int  main(void)

{

// Selectively collect profile information for the portion

// of the application involved in processing input data.

  int input_data = get_input_data();

  while (input_data) {

    _PGOPTI_Prof_Reset();

    process_data(input_data);

    _PGOPTI_Prof_Dump_All();

    input_data = get_input_data();

  }

  return 0;

}