-2
A
回答
1
在Java中,它在最終優化階段從字節代碼中刪除。因爲它減少了尺寸的運作。
3
如果條件靜態評估爲false,編譯器可能會優化它。
if (false) {
// The compiler may choose to drop this part from the compiled result
}
但是,這是編譯器特有的。在所有語言中不一樣,所有編譯器都不一樣。實際上,它可能取決於編譯器使用的優化設置。
5
編譯器總是讀取整個程序。如果符合「if」條件,許多優化編譯器會分析是否可以在編譯時評估條件值。如果它在編譯時已知,那麼編譯器可能會從生成的代碼中完全消除該條件。但是,如果在編譯時未知該條件的值,則編譯器將生成用於在運行時評估條件的代碼。
在運行時,通常使用條件跳轉指令跳轉到正確的代碼塊,具體取決於條件值。例如。如果結果爲假,CPU將直接「跳過」if體內的代碼。
相關問題
- 1. 如果語句在條件爲假時執行
- 2. 語句中如果塊時條件爲假,即使執行
- 3. 如果條件爲假,哪裏方法
- 4. Angular 2 * ng如果條件體仍然呈現條件爲假
- 5. Java中,重複if語句,如果條件爲假
- 6. 當條件結果爲真時,爲什麼OpenCL會將條件放在我的條件的其他部分中
- 7. 如果捉「」當語句條件未能
- 8. 有條件的mySQL語句。如果是真的更新,如果是假INSERT
- 9. JavaScript的條件爲假時可變
- 10. 有更高階條件的語言嗎?
- 11. 如果任何條件爲假,如何從for循環返回false
- 12. 如果任何元件滿足條件
- 13. 是否有任何事件不會取消註冊的條件?
- 14. 裏面如果條件,切換var爲真,假,真,假
- 15. 多條語句如果條件爲真如果是
- 16. while/if語句中的多個條件在任何條件爲真時運行?
- 17. 真/假條件
- 18. 如果值沒有任何意義,條件級聯會中斷
- 19. 如果條件標誌爲假時跳過
- 20. c輸入,如果塊時條件爲假一個
- 21. 如果聲明仍然執行條件爲假時
- 22. 使用if_else,如果條件爲假,我無法返回用作條件的列
- 23. 如果條件是假,則使用jQuery
- 24. 彙編語言條件
- 25. Automapper條件語言映射
- 26. 如果條件爲
- 27. 如果條件爲
- 28. 爲#如果條件
- 29. 如果條件爲
- 30. 如果條件爲
一個優化的編譯器可能會拋出它,因爲它是無法訪問的代碼。 – mak
什麼樣的'如果'和什麼語言?例如,C和一些相關語言中的'#if false'會導致該「分支」甚至不被解析。 – harold
在這種情況下,「讀」是什麼意思?即使「if」條件不成立,期望編譯器如何通過實際閱讀來了解它? – AnT