インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このトピックでは、本リリースで新しく追加されたオプションの一覧を示します。
特に表記がない場合、そのオプションはサポートされているすべてのシステムで利用可能です。
オプションの欄に "のみ" とある場合、そのオプションは明記されたシステムでのみ利用可能です。
オプションについての詳細は、各オプションの説明を参照してください。
この表で使用されている表記については、「表記規則」を参照してください。
新しいコンパイラー・オプションは、次の表にリストされています。
最初の表は、Windows* システムで利用できる新しいオプションです。
2 番目の表は、Linux* および macOS* システムで利用できる新しいオプションです。いずれか一方のシステムでのみオプションを利用できる場合は、その旨が示されます。
Windows* オプション |
説明 |
デフォルト |
---|---|---|
/Qcf-protection[:keyword] |
脆弱性を悪用する特定の攻撃からプログラムを保護する Control-flow Enforcement Technology (CET) を有効にします。このオプションは、CET を試験的にサポートします。 |
/Qcf-protection:none |
/Qimf-force-dynamic-target[:funclist] |
数学関数の呼び出しでランタイム・ディスパッチを使用するようにコンパイラーに指示します。 |
オフ |
/Qimf-use-svml:value[:funclist] |
インテルの数学ライブラリー (LIBM) の代わりに、SVML (Short Vector Math Library) を使用して数学ライブラリー関数を実装するようにコンパイラーに指示します。 |
false |
/Qopt-zmm-usage:keyword |
zmm レジスターの使用レベルを定義します。 |
それぞれ異なる |
/Qstringop-inline-threshold:val |
関数で扱うバイト数がコンパイル時に分かっており、それが指定された値よりも大きい場合、memcall のような関数 (memcpy、memset) 呼び出しをインライン展開しないようにコンパイラーに指示します。 |
オフ |
/Qstringop-strategy:alg |
memcall のような関数 (memcpy、memset) を実装する際に、特定のアルゴリズムで使用される内部決定ヒューリスティックをオーバーライドします。 |
それぞれ異なる |
Linux* および macOS* オプション |
説明 |
デフォルト |
---|---|---|
-fimf-force-dynamic-target[=funclist] |
数学関数の呼び出しでランタイム・ディスパッチを使用するようにコンパイラーに指示します。 |
オフ |
-fimf-use-svml=value[:funclist] |
インテルの数学ライブラリー (LIBM) の代わりに、SVML (Short Vector Math Library) を使用して数学ライブラリー関数を実装するようにコンパイラーに指示します。 |
false |
-intel-freestanding-target-os=os |
コンパイルのターゲット・オペレーティング・システムを指定します。 |
オフ |
-mstringop-inline-threshold=val |
関数で扱うバイト数がコンパイル時に分かっており、それが指定された値よりも大きい場合、memcall のような関数 (memcpy、memset) 呼び出しをインライン展開しないようにコンパイラーに指示します。 |
オフ |
-mstringop-strategy=alg |
memcall のような関数 (memcpy、memset) を実装する際に、特定のアルゴリズムで使用される内部決定ヒューリスティックをオーバーライドします。 |
それぞれ異なる |
-prof-gen-sampling (Linux* のみ) |
デバッグ出力でデバッグ識別子を生成するようにコンパイラーに指示します。これは、より正確なサンプル・プロファイルの生成を支援します。 |
オフ |
-prof-use-sampling=list (Linux* のみ) |
ハードウェア・プロファイルによって生成されたデータファイルを使用して、最適化された実行ファイルを生成します。 |
オフ |
-qcf-protection[=keyword] |
脆弱性を悪用する特定の攻撃からプログラムを保護する Control-flow Enforcement Technology (CET) を有効にします。このオプションは、CET を試験的にサポートします。 |
-qcf-protection=none |
-qopt-zmm-usage=keyword |
zmm レジスターの使用レベルを定義します。 |
それぞれ異なる |
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |