我不能说我完全理解编译器是如何工作的。而且,我对他们知之甚少。但是,我一直想知道机器是如何理解我们在文档中编写的代码的。
我知道我们写的东西被翻译成某种东西(如果你也可以给我一些编译的细节,那就太好了),然后在某些操作之后出现二进制代码。
但是电路如何理解和操作 0 和 1。我对计算机体系结构有一定的了解,我知道晶体管是如何工作的,ALU 是如何工作的,以及它是如何实现的。我知道 RAM 是如何工作的(或多或少,所以任何进一步的解释也会很棒)以及 HDD。
但是,当我试图想象编译器是如何产生完全适合有形机器的神奇事物(至少对我而言)时,我迷失了方向。
这让我很惊讶。我们每天都认为是理所当然的,它在概念上是如此的伟大。抽象代码和物理机器之间的合作……太神奇了。
如果您的答案有必要,请不要担心深入机器内部,我觉得它真的很有趣,也许您可以启发我。您为描述此过程提供的详细信息越多越好。