インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
関数のエントリーポイントと終了ポイントをインストルメントするかどうかを指定します。
インテル® グラフィックス・テクノロジーをターゲットとする IA-32 アーキテクチャーおよびインテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャーでは利用できません。
Linux* および OS X*: | -finstrument-functions -fno-instrument-functions |
Windows®: | /Qinstrument-functions /Qinstrument-functions- |
なし
-fno-instrument-functions |
関数のエントリーポイントと終了ポイントをインストルメントしません。 |
このオプションは、関数のエントリーポイントと終了ポイントをインストルメントするかどうかを指定します。 このオプションを指定すると、実行時間が長くなることがあります。
次のプロファイリング関数は、現在の関数のアドレスとその関数が呼び出されたアドレス ("呼び出し") で呼び出されます。
この関数は、関数のエントリー時に呼び出されます。
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
この関数は、関数の終了時に呼び出されます。
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
これらの関数は、プロファイル情報や時間測定情報など、詳細な情報の収集に使用します。 これらのプロファイリング関数は、自分で用意する必要があります。
-finstrument-functions (Linux* および OS X*) または /Qinstrument-functions (Windows®) を指定すると、関数のインライン展開は無効になります。 -fno-instrument-functions または /Qinstrument-functions- を指定すると、インライン展開は無効になりません。
Linux* および OS X* システムでは、次の属性を使用してインストルメントを行わない関数を個別に指定できます。
__attribute__((__no_instrument_function__))
この場合、関数のインライン展開は無効になりません。
このオプションは、gcc との互換性のために提供されています。
なし