インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

guide-opts、Qguide-opts

特定のコードを解析して、最適化を向上させるためのアドバイスを生成するようにコンパイラーに指示します。

構文

Linux* および macOS*:

-guide-opts=string

Windows*:

/Qguide-opts:string

引数

string

解析するコードを示すテキストです。引用符で文字列を囲みます。次の 1 つまたは複数の形式を指定できます。

filename
filename, routine
filename, range [, range]...
filename, routine, range [, range]...

文字列で上記の複数の形式を指定する場合は、各形式の間にセミコロンを付ける必要があります。文字列に複数の range を指定した場合は、それぞれの range の間にカンマを付ける必要があります。上記の形式の各引数の後にオプションの空白を指定できます。また、文字列の各フォームの後にも指定できます。

filename

解析するファイルの名前を指定します。パスを含めることもできます。

パスを指定しない場合、コンパイラーは現在の作業ディレクトリーで filename を検索します。

routine

解析するルーチンの名前を指定します。引数を含めることもできます。

引数を含む名前は、一重引用符で囲む必要があります。

コンパイラーは、指定されたルーチン名に対応する一意のルーチンを特定します。次のような場合には、解析するルーチンが複数選択されることがあります。

  • 指定されたルーチン名を持つルーチンが複数あり、一意なルーチンを特定できない。

  • 引数情報が指定されていないため、検索されたルーチンの数を絞り込めない。

range

指定されたファイルやルーチンで解析する行番号の範囲を指定します。range は、次の形式に従い整数で指定する必要があります。

最初の行番号-最後の行番号

行番号の間のハイフンは必須です。

デフォルト

オフ

最適化を向上する方法についてのアドバイスは提供されません。ただし、[Q]guide オプションを指定した場合、コンパイラーはアプリケーションにあるすべてのコードについて解析し、アドバイスを生成します。

説明

このオプションは、特定のコードを解析して、最適化を向上させるためのアドバイスを生成するようにコンパイラーに指示します。

このオプションは、次の 1 つまたは複数のオプションを指定しない限り、無視されます。

[Q]guide-opts オプションが指定された場合、入力ファイルのどの部分が解析中であるかを含むメッセージが出力されます。ルーチンを解析する場合は、完全なルーチン名が生成されたメッセージに表示されます。

インライン展開が関与する場合は、呼び出し先の行番号を指定します。生成されたメッセージでも呼び出し先の行番号が使用されます。

IDE オプション

Visual Studio*: [Diagnostics (診断)] > [Guided Auto Parallelism Code Selection Options (ガイド付き自動並列化のコード選択オプション)]

Eclipse*: [Compilation Diagnostics (コンパイル診断)] > [Guided Auto Parallelism Code Selection (ガイド付き自動並列化のコード選択オプション)]

Xcode*: [Diagnostics (診断)] > [Guided Auto Parallelism Code Selection (ガイド付き自動並列化のコード選択)]

代替オプション

なし

次の例について考えてみます。

Linux*: -guide-opts="v.c, 1-10; v2.c, 1-40, 50-90, 100-200; v5.c, 300-400; x.c, 'funca(int)', 22-44, 55-77, 88-99; y.c, 'funcb'"
Windows*: /Qguide-opts:"v.c, 1-10; v2.c, 1-40, 50-90, 100-200; v5.c, 300-400; x.c, 'funca(int)', 22-44, 55-77, 88-99; y.c, 'funcb'"

上記のコマンドにより、以下が解析されます。

file v.c, line numbers 1 to 10
file v2.c, line numbers 1 to 40, 50 to 90, and 100 to 200
file v5.c, line numbers 300 to 400
file x.c, routine funca with parameter (int), line numbers 22 to 44, 55 to 77, and 88 to 99
file y.c, routine funcb

関連情報