编译器是咋保证生成指令的有效性的
这是个伪命题……事实上编译器不能保证生成指令的有效性。C和C++都有很多在标准中写明属于undefined的坑,此时编译器可以自行决定按编译器的某种理解去生成代码,也可以生成无效代码(是的,有时甚至是故意导致崩溃的代码)。此外,有时,即使程序员写的代码是完全正确的,编译器由于 bug 也可能会产生错误的代码(这种情况比较少见,因为编译器的 bug 往往影响面会比较广,因此很快会被人发现和修正,但是常在河边走,想要鞋上不湿是不现实的)。如果你的问题是编译器如何完成编译任务(毕竟,编译器的唯一目的便是生成正确的代码),这个话题就太大了……
■网友
很难…没记错的话VS2013,VS2013的各个Update的release notes中不乏修复了may generate incorrect code.之类的描述
推荐阅读
- 新疆铁路部门积极应对降雪降温天气保证旅客安全出行
- 央视|央视再出佳作!张嘉益+闫妮+宋丹丹妥妥演技保证,第一集就值5星
- 淘宝,天猫保证金为啥不能放入余额宝产生收益
- 选科|三大主科成提分关键,选科策略要重视!2021新高考注意:中上游考生成炮灰
- 可以通过伪随机生成真实的地球吗
- 数独设计的原理是啥
- 家具装好后和墙面有或大或小的缝隙,请问怎样用啥材料怎样施工才能保证以后这个缝隙处不会开裂
- 卡车之家|一车苹果有个别腐烂,就要取消绿通免费,收费员:没保证鲜活
- 怎样利用包含 xyz 坐标的 txt 文件转生成 DEM
- 由于没有入住,被去哪网和宾馆联合坑了保证金,怎么样才能获得经济或心理补偿
