4 つのマクロが特定のデバッグ機能を制御します。これらの機能はパフォーマンスを低下させる可能性があるため、一般に、開発コードではオン、製品コードではオフにしてコンパイルすると便利です。次の表は、マクロとそのデフォルト値を要約したものです。値が 1 の場合は対応する機能が有効になり、0 の場合は無効になります。
マクロ |
デフォルト値 |
機能 |
---|---|---|
TBB_USE_DEBUG |
Windows®: _DEBUG が定義されている場合は 1。 その他の場合は 0。 |
この表のほかのすべてのマクロのデフォルト値になります。 |
その他のシステム: 0。 |
||
TBB_USE_ASSERT |
TBB_USE_DEBUG
|
アサーションの内部チェックを有効にします。パフォーマンスが大幅に低下します。 |
TBB_USE_THREADING_TOOLS |
インテル® Parallel Studio XE およびインテルのスレッド化ツールのフルサポートを有効にします。 |
|
TBB_USE_PERFORMANCE_WARNINGS |
パフォーマンスの問題に関する警告を有効にします。 |
TBB_USE_ASSERT マクロは、エラーチェックをヘッダーファイルで有効にするかどうかを制御します。エラーチェックを有効にするには、TBB_USE_ASSERT を 1 として定義してください。
エラーが検出されると、ライブラリーはエラーメッセージを stderr に出力して標準 C ルーチン abort を呼び出します。内部エラーチェックがエラーを検出したときにプログラムを停止するには、tbb::assertion_failure にブレークポイントをセットしてください。
Windows® オペレーティング・システムでデバッグビルドを行うと、デフォルトで TBB_USE_ASSERT は 1 に暗黙的に設定されます。
TBB_USE_THREADING_TOOLS マクロは、インテルのスレッド化ツールのサポートを制御します。
インテル® Inspector XE
インテル® VTune™ Amplifier XE
インテル® Parallel Inspector
インテル® Parallel Amplifier
インテル® Thread Profiler
インテル® Thread Checker
これらのツールのフルサポートを有効にするには、TBB_USE_THREADING_TOOLS を 1 として定義してください。
フルサポートは、エラーチェックが有効な場合に有効になります。リリースビルドでツールの一部のサポートをオフにしてパフォーマンスを最大にするには、TBB_USE_THREADING_TOOLS を未定義のままにしておくか、0 として定義してください。
TBB_USE_PERFORMANCE_WARNINGS マクロは、パフォーマンスの警告を制御します。警告を有効にするには、1 に定義します。現在、次の警告が影響を受けます。
concurrent_hash_map 用の効率の悪いハッシュ関数に関するいくつかの警告。警告を有効にするとパフォーマンスに影響する可能性があります。
IA-32 アーキテクチャー・ベースのインテル® プロセッサー上における、アライメントされていない 8 バイトのアトミックストア操作に関する警告。