编译器为什么不会把代码编译为有错误的(功能不一样的)汇编代码?

知乎话题榜  • 2026-06-01 10:581次浏览
编译器为什么不会把代码编译为有错误的(功能不一样的)汇编代码?
曾经有人说过,因为人们发明了高级语言和编译器,所以没有那么多对写汇编语言的程序员的需求了,而AI时代,人们会写prompt所以会写代码的程序员的需求也会减少。众所周知LLM会犯错,AI生成的代码会有bug,但是为什么编译器编译出来的代码一定和源代码有一致的功能呢?(比如某段C++程序里我声明一个int a = 2,我可以放心地编译运行这段代码,我可以确信编译出来的汇编代码也做了给a赋值为2这个事情,而不会出现给a赋值成3这种错误)。什么保证了编译后的代码和源代码有一致性呢?

查看详情...