我正在使用C++中的Visual Studio 2008 Pro編程。當我在調試模式下按下運行按鈕時,默認情況下是否將任何編譯器優化應用於程序?調試期間的編譯器優化
1
A
回答
1
調試器將默認運行一個調試版本,該版本不會啓用優化。
如果優化已啓用,您可能會注意到「步驟」和「下一步」有時會導致程序流程跳轉。這是因爲編譯器有時會重新排序指令,調試器做得最好。
0
我想這取決於你將它歸類爲優化,但大多數不是。舉例來說,VS的最新版本確實會應用(匿名)返回值優化,至少在某些情況下,即使禁用了優化(/ O0),正如調試版本的情況一樣。
如果您想調試優化後的代碼,切換到發佈版本通常是最容易的,然後告訴它生成調試信息。理論上你可以在調試版本中打開優化,但是你必須改變更多的開關來完成它。
相關問題
- 1. GNU GCC編譯器優化和調試
- 2. 編譯期間的模塊間優化
- 3. 編譯器優化
- 4. 編譯器優化
- 5. 克++編譯器的優化
- 6. Java編譯器優化
- 7. 編譯器優化問題
- 8. 編譯器謂語優化
- 9. Requirejs優化器不編譯
- 10. 二郎編譯器優化
- 11. 編譯器優化實現
- 12. C++編譯器優化
- 13. 在Visual Studio調試或編譯期間刷新瀏覽器
- 14. 即時調試器在編譯期間拋出錯誤
- 15. 爲ReadTheDocs項目優化編譯時間
- 16. Webpack - 優化編譯時間(熱重載)
- 17. 由編譯器優化的變量
- 18. 的std ::移動與編譯器優化
- 19. 函數參數的編譯器優化
- 20. CLR語言優化。語言編譯器VS JIT編譯器
- 21. 用於試驗編譯器優化的Python庫
- 22. 通過Cmake打開Android Studio調試版本的編譯器優化
- 23. 構建期間GNU Make和Clearmake編譯器之間的變化
- 24. 重複訪問者調用的編譯器優化
- 25. 調試編譯器故障
- 26. 在編譯期間編譯
- 27. 虛擬函數編譯器優化C++
- 28. 隱式else編譯器優化
- 29. 編譯器優化與參數
- 30. 編譯器優化與增量
謝謝。問題的第二個,是否可以在調試運行期間打開優化?如果是這樣,怎麼樣? – Faken 2010-05-27 17:34:53
某些優化可能會起作用,但有些優化會完全破壞您的調試能力。至於你是否可以在VS中調試時啓用它們,我不知道,但我懷疑你可能可以。 – dicroce 2010-05-27 17:36:40
我想爲某些速度測試啓用優化(因此斷點不會在那裏)。我想它只是爲了方便,我可以簡單地按下運行按鈕並獲得時間。 – Faken 2010-05-27 17:38:18