-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