2

ソースからの GCC のコンパイル ビルドを最適化するために何をどのように設定すればよいかわかりません。

2 つのバージョンを作成したいと考えています。1 つは最適化され、もう 1 つはggdbサポートされています (2 つ目が必要かどうかはわかりません)。私は現在、最初のことに集中しています。以前のビルドでは、通常は主にデフォルトのままでした。

ヒットの 99.9% は、コンパイルされたコードの最適化に関するものであり、それ自体gccの最適化やビルドに関するものではないため、これと GCC ビルド全般を World Wide Web で検索するのは少し難しいと思いgccます。

ドキュメントを読むと、gcc-4.8.1/INSTALL/index.htmlこのトピックはほとんどありません。

gcc-4.8.1/INSTALL/build.htmlを使用できると言い--with-build-config=NAME...ますが、このオプションは にはありませんgcc-4.8.1/INSTALL/configure.html。他の場所で使用することを意図していますか?

./configure --with-build-config=bootstrap-O3 ...

使用する必要があります:

make BOOT_CFLAGS='-O3'

代わりは?

たとえば、次のように使用するのは正常ですか。

CFLAGS="-O3" && CXXFLAGS="-O3" && ./configure

それとも一緒にいるべきBOOT_CFLAGSですか?


また、このようなページとパスを交差させました。-O3肥大化したバイナリが生成され、gcc 4.x では -O3 の使用は推奨されません。.


これが乱雑に見える場合は、完全に正しいです。ここでは、むしろ混乱/混乱/見落としのない状態です。

要するに質問は次のとおりです。

  • GCC の最適化されたバージョンをコンパイルする方法。
  • O3良い選択ですか?
4

1 に答える 1

0

私は個人的にO3のファンではありませんでした。最適化の 3 番目のレベルは、最適化のために安定性をトレードオフする最適化です。

コメントで述べたように、02 はかなり一般的です。また、gcc が誤って何かを破壊しないように、テスト ビルド用のデフォルト セットを残しました。

正直なところ、組み込みシステム向けに開発している場合を除き、ユーザーの観点からはあまり問題にならないでしょうが、02 を試して、得られるメリットを確認する価値があるかもしれません。

于 2013-06-15T03:09:23.473 に答える