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