GCCのすべての最適化をオフにするにはどうすればよいですか? -O0を使用すると、エフェクトのないステートメント、またはブレークステートメントのない無限ループの後のコードが最適化されるため、機能しません。GCCのすべての最適化をオフにする方法
8
A
答えて
7
gccが到達不能なコードや効果のない文を無視しないようにする方法はありません。
あなたができることは、揮発性変数を使用して到達できないように見えることです。上記の例では
volatile bool always_true = true;
if(always_true )
{
//infinite loop
//return something
}
//Useless code
gccがないので、それはこの例では役に立たない
int a = 5;
int b = 5;
volatile int c = 9;
c += 37;
return a + b;
Infactはある知ることができないので、GCCは無駄なコードをoptomizeません、整数cがアウト最適化されないであろうそれが死んだ重量コードであることが分かりません。
2
コンパイラが最適化するためにコードをほとんど不可能にする必要があります。たとえば :あなたは
- 使用
volatile
キーワードたとえば、コードは効果があることを確認してください:ただ値だけを印刷したり、それを保存するだけでなく、変数の値を変更しません
関連する問題
- 1. gccで特定の最適化フラグをオフにする方法
- 2. GCCのすべての最適化オプションを無効にする
- 3. GCC handpicking最適化
- 4. ndk-buildのgcc最適化レベルを知る方法
- 5. GCCで最適化されたリリースモードでのビルド方法は?
- 6. gccコンパイラの特定の最適化(デッドコードエリミネーション)を無効にする
- 7. ARM gccのインラインアセンブラの最適化問題
- 8. rdtscでのgcc最適化の問題
- 9. gccとg ++の最適化フラグを永久に設定する
- 10. 署名済み:gccの最適化 "バグ"
- 11. GCC /ビルド時間の最適化
- 12. GNU GCCコンパイラの最適化とデバッグ
- 13. mallocとgccの最適化2
- 14. C++コンパイルとRustコンパイルの両方でループ最適化をオフにする方法はありますか?
- 15. Ghostscriptを最適化する方法
- 16. メニューナビゲーションを最適化する方法
- 17. mach_msg_trapを最適化する方法
- 18. デカルト積を最適化する方法
- 19. UIImageViewを最適化する方法
- 20. DataContextフリーズを最適化する方法
- 21. solrインデックスを最適化する方法
- 22. JSF - データベースパフォーマンスを最適化する方法
- 23. アクティブレコードの最適化 - 一度にすべてを照会する最善の方法?
- 24. iosでtableviewのすべてのセルをオフにする方法
- 25. gcc O3最適化フラグに関する疑問
- 26. GCCですべての機能にwarn_unused_resultを適用する
- 27. Androidですべての音をオフにする方法
- 28. ドットトレースし、最適化する方法
- 29. GCC/Clangでテールコールの最適化を強制できますか?
- 30. android-ndk(速度最適化)でネイティブコードを最適化する方法
何もありません別の変数または変数に算術演算を行うと、別の変数
すべての最適化をオフにすることはできません。 –
フラグがなくてもgccはいくつかの基本的な最適化を行います。エフェクトのないステートメントを削除することは理にかなっています(最適化の有無)。ただ好奇心が強い:なぜあなたはデッドコードを保持したいですか? –