インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

オンデマンドのカバレッジサマリーの取得

この API は、Linux* および macOS* 向けの C/C++ アプリケーションでのみサポートされます。

_PGOPTI_Get_Coverage_Info() 関数は、アプリケーション実行中にインストルメント済みファイルごとの基本ブロックおよび行のカバレッジの割合を取得します。

この関数呼び出しのプロトタイプは次のとおりです。

構文

int _PGOPTI_Get_Coverage_Info(PGOPTI_COVERAGE_SUMMARY *coverage_array);

この API は、プロファイルされるすべてのファイルのカバレッジ情報をオンデマンドで提供します。カバレッジ情報は動的に割り当てられる構造体配列に格納され、この配列へのポインターは引数 coverage_array で返されます。呼び出しの戻り値は、この配列の要素数です。

カバレッジ情報は、必要に応じて使用できますが、使用後は動的に割り当てられる coverage_array を解放する必要があります。

次に示すように、端末画面にオンデマンドでカバレッジ情報を表示することもできます。

#include <pgouser.h>
void Coverage_Summary(void)
{
    int index, num_files;
    PGOPTI_COVERAGE_SUMMARY coverage_array, curp;
    // カバレッジサマリーを取得して出力する
    num_files =  _PGOPTI_Get_Coverage_Info(&coverage_array);
    for (index = 0; index < num_files; index++) {
        curp = &coverage_array[index];
        printf( "%s ", curp->file_name);
        printf( "Block coverage percent: %u, ", curp->coverage_percent);
        printf( "Line coverage percent: %u\n", curp->line_coverage_percent);
        free(curp->file_name);
    }
    if (num_files > 0) {
       free(coverage_array);
    }}