関数のエントリーポイントと終了ポイントをインストルメントするかどうかを指定します。
なし
IA-32 アーキテクチャー、インテル(R) 64 アーキテクチャー、IA-64 アーキテクチャー
Linux* および Mac OS*: | -finstrument-functions -fno-instrument-functions |
Windows*: | /Qinstrument-functions
/Qinstrument-functions- |
なし
-fno-instrument-functions または /Qinstrument-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 および Mac OS) または /Qinstrument-functions (Windows) を指定すると、関数のインライン展開は無効になります。-fno-instrument-functions または /Qinstrument-functions- を指定すると、インライン展開は無効になりません。
Linux および Mac OS システムでは、次の属性を使用してインストルメントを行わない関数を個別に指定できます。
__attribute__((__no_instrument_function__))
この場合、関数のインライン展開は無効になりません。
このオプションは、gcc との互換性のために提供されています。
なし