Linux で g++ コンパイラを使い始めたばかりで、コンパイラ フラグについていくつか質問があります。ここにある
最適化
最適化フラグについて-O1
、-O2
および-O3
g++ マニュアルページを読みました。これらのフラグをいつ使用するかがわかりませんでした。通常、どの最適化レベルを使用しますか? g++ のマニュアルには、 について次のように書かれています-O2
。
さらに最適化します。GCC は、容量と速度のトレードオフを含まない、サポートされているほぼすべての最適化を実行します。-O2 を指定すると、コンパイラはループ展開または関数インライン化を実行しません。-O と比較して、このオプションはコンパイル時間と生成されたコードのパフォーマンスの両方を向上させます。
インライン展開とループ展開を行っていない場合、パフォーマンスがどのように達成され、このオプションは推奨されますか?
静的ライブラリ
g++ を使用して静的ライブラリを作成するにはどうすればよいですか? Visual Studio で、クラス ライブラリ プロジェクトを選択すると、「lib」ファイルにコンパイルされます。g ++で同等のものは何ですか?