ここでは、インテル・コンパイラから生成されたコードを監視するオプションについて説明します。
構造体および共用体のアライメント境界を指定する方法は2つあります。
どちらでも構造体タグのアライメント境界を変更できます。
構造体宣言に関するアライメント境界を指定するには、-Zpオプションを使用します。一般に、条件を狭くするとデータ・セクションが小さくなり、条件を広くすると実行が速くなります。
-Zp オプションの形式は -Zpn です。
アライメント境界は、次の値で指定します。
n=1 | 1バイト |
n=2 | 2バイト |
n=4 | 4バイト |
n=8 | 8バイト |
n=16 | 16バイト |
例えば、prog.cファイルのすべての構造体と共用体に対するアライメント条件として、2バイトを指定するには、次のコマンドを使用します。
-ftzオプションは、アプリケーションが段階的アンダーフロー・モードの場合に、デノーマル結果をゼロにフラッシュします。このオプションは、デノーマル値がアプリケーション動作に影響を与えない場合に使用します。-ftzオプションでデノーマル値をゼロにフラッシュすると、アプリケーションのパーフォーマンスが向上する可能性があります。-ftzオプションのデフォルト状態はオフです。デフォルトでは、コンパイラは結果を段階的アンダーフローにします。FTZモードをオンにするには、-ftzオプションをmain()関数が含まれているソースに対してのみ使用する必要があります。初期スレッドおよびそのプロセスによってその後に作成されるあらゆるスレッドは、FTZモードで動作します。
-ftz スイッチは、main() 関数が含まれているソースでのみ使用する必要があります。 -ftz スイッチは、main() から起動された処理に対して FTZ モードをオンにします。初期スレッドおよびそのプロセスによってその後に作成されるあらゆるスレッドは、FTZモードで動作します。
デフォルトにより、明示的にゼロに初期化される変数はBSSセクションに配置されます。しかし-nobss_initオプションを使用すると、ゼロで明示的に初期化されるいずれの変数も、必要ならDATAセクションに配置できます。
一部の命令は、先頭バイトに0fを含む2バイトのオペコードを持っています。ごくまれに、Pentium® プロセッサは、そのような命令のデコード処理を誤る場合があります。この種の命令のデコード処理の誤りを防ぐためには、-0f_checkオプションを指定してください。