在我读到的关于 C++ 的第一本书中,它稍微详细介绍了代码是如何在机器上实际执行的(它提到了程序计数器、调用堆栈、返回地址等)。我发现了解这些东西是如何工作的真的很有趣,尽管我知道知道计算机如何工作来编写好的代码并不是真正必要的。
在此 Q/A 网站上阅读相同主题时,我发现它绝不一定是我以前学习的方式,因为我所读到的只是 C++ 的某个实现,取决于某些计算机架构和一定的编译器。C++ 代码也可以在完全不同的东西上运行,只要一个兼容的编译器以“正确”的方式运行。然后由标准和“抽象机器”的行为定义正确的方法(我希望到目前为止我做对了)。
当然,我仍然想知道像内存的代码段或程序计数器这样的概念是否仍然“以某种方式”在标准中被描绘出来,如果是,它们在多大程度上被描绘出来?在抽象机中如何描述代码段一个接一个地执行的概念?
由于有人在评论中询问我是否愿意向我重复该标准:我无法很好地理解该标准,无法准确确定它对抽象机器的描述/或该标准的哪些陈述可以被解释为关于“程序计数器”“代码存储”......等抽象概念的陈述。所以,是的,出于无能为力,我要求社区解释标准中写的内容。这种解释的预期结果是仍然符合“抽象”标准的抽象机器内部结构的最详细概念。