インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
指定された関数のインストルメンテーションを有効/無効にします。このオプションを使用するには、[Q]tcollect オプションも指定する必要があります。
Linux*: | -tcollect-filter filename |
macOS*: | なし |
Windows*: | /Qtcollect-filter:filename |
filename |
各行に 1 つのフィルターをリストする設定ファイルです。各フィルターは通常の文字列式とスイッチからなります。スペースが前後に入る文字列は、引用符で囲む必要があります。その他の文字列については、引用符は必要ありません。スイッチの値は、ON、on、OFF、off です。 |
オフ |
関数はインストルメントされません。ただし、-tcollect (Linux*) または /Qtcollect (Windows*) オプションが指定されると、フィルター設定は ".* ON" で、すべての関数がインストルメントされます。 |
このオプションは、指定された関数のインストルメンテーションを有効/無効にします。
指定したフィルターでインストルメンテーションを行うには、[Q]tcollect オプションと [Q]tcollect-filter オプションの両方を指定する必要があります。
インストルメンテーション時に、ファイル中の正規表現と対応する関数名が確認されます。このスイッチは、対応する関数をインストルメントするかどうかを指定します。フィルターが複数ある場合は、先頭から順に評価され、後に行くほど優先度が高くなります。
対応する関数名は次のような書式になります。
C++ 関数名は復号化され、C++ クラス階層が使用されます。関数の引数は、関数名を短くするため、削除されます。
ソースファイル名の後にはコロンで区切られた関数名がきます。ソースファイル名は、可能であれば、フルパスで指定します。次に例を示します。
/home/joe/src/foo.c:FOO_bar
クラスと関数の名前は、2 つのコロン (::) で区切られます。次に例を示します。
/home/joe/src/foo.cpp:app::foo::bar
[q または Q]opt-report オプションを使用すると、コンパイラーがコンパイル単位で認識するファイルと関数名の完全なリストを取得できます。このリストを設定ファイルでフィルターするベースとして使用できます。
インテル® Trace Analyzer & Collector 機能を利用するには、別の製品をインストールする必要があります。詳細は、「機能要件」を参照してください。
なし
設定ファイルに次のフィルターがあるとします。
'.*' OFF '.*vector.*' ON
上記の例は、関数名に 'vector' が含まれる関数のみをインストルメントします。その他の関数はインストルメントされません。このフィルターの順序を逆にすると、すべての関数がインストルメントされないことに注意してください。
正規表現フィルターに対応するファイルまたはルーチン文字列のリストを取得するには、tcollect 情報を使用して最適化レポートを生成してください。次に例を示します。
Windows*: icl /Qtcollect /Qopt-report /Qopt-report-phase:tcollect
Linux*: icc -tcollect -qopt-report -qopt-report-phase=tcollect