1. ホーム
  2. c

[解決済み] GCCの最適化レベルはいくつですか?

2022-03-10 13:15:50

質問

いくつ GCC 最適化レベルは?

gcc -O1、gcc -O2、gcc -O3、gcc -O4 を試しました。

本当に大きな数字を使うと、うまくいかないんです。

しかし、私が試したのは

gcc -O100

と入力すると、コンパイルされました。

最適化レベルはいくつですか?

解決方法は?

gccには8種類の-Oオプションがありますが、同じ意味のものもあります。

この回答のオリジナルバージョンでは、オプションは7つであると記載されています。GCCはその後 -Og を追加し、合計8個としました。

から のマニュアルページをご覧ください。

  • -O (と同じ -O1 )
  • -O0 (最適化しない、最適化レベルが指定されていない場合のデフォルト)
  • -O1 (最小限の最適化)
  • -O2 (より最適化する)
  • -O3 (さらに最適化する)
  • -Ofast (標準コンプライアンスを破壊するほど積極的に最適化すること)
  • -Og (デバッグの経験を最適化する。 -Og は、デバッグを妨げない最適化を可能にします。これは 標準的な編集-コンパイル-デバッグのサイクルで選択される最適化レベルであり、合理的なレベルの最適化を提供します。 は、高速なコンパイルと良好なデバッグ環境を維持しながらも)
  • -Os (サイズに最適化する。 -Os は、すべての -O2 通常、コードサイズを増加させないような最適化を行います。また、さらなる最適化も行われます。 コードサイズを小さくするように設計されています。 -Os は、以下の最適化フラグを無効にします。 -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays -ftree-vect-loop-version )

また、@pauldoo が指摘するように、OS X にはプラットフォーム特有の最適化があるかもしれません。 -Oz