隐式的else编译器优化
发布时间:2020-12-16 07:20:40 所属栏目:百科 来源:网络整理
导读:我想知道编译器是否有办法理解两个if语句不能同时为true,并添加“隐式else”.例如,在此代码示例中: int main() { char c; scanf_s("%c",c,1); if (c == '1') { printf("received 1n"); } if (c == '2') { printf("received 2n"); } return 0;} c不能是’1
我想知道编译器是否有办法理解两个if语句不能同时为true,并添加“隐式else”.例如,在此代码示例中:
int main() { char c; scanf_s("%c",&c,1); if (c == '1') { printf("received 1n"); } if (c == '2') { printf("received 2n"); } return 0; } c不能是’1’和’2′,但是在Visual Studio中进行编译和反汇编后,我注意到它会检查第二个是否,无论如何. 解决方法
是的:英特尔C编译器icc 17可以用Matt Godbolt’s Compiler Explorer验证,但clang和gcc似乎都没有执行此优化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- jaxp解析xml
- wxwidgets中对全局数据以xml文件的形式进行保存
- c# – TFS Build失败,“无法访问文件* FakeTypesCache”
- ruby-on-rails – Watir-Webdriver – 协议不支持的地址族
- ie不允许隐藏swf,否则不激活swf导致相当于没载入状态
- React-Native系列Android——Win7系统环境搭建问题汇总
- 在Swift中没有文本的中心选项卡栏图标
- ruby-on-rails – 只有上一个和下一个按钮的Kaminari ajax分
- 单一最重要的文件是什么?
- ModelBinding:MVC4 / C中的POST数据(可能来自Ruby)#