在我读的第一本关于C ++的书中,它稍微涉及了代码在计算机上实际执行的细节(提到了程序计数器,调用堆栈,返回地址等)。我发现了解这些东西的工作原理真的很有趣,尽管我知道了解计算机如何工作并不是写出好代码所必需的。
在这个问答网站上阅读同样的主题时,我发现这并不一定是我之前学习的方式,因为我所了解的只是C ++的某种实现,取决于特定的计算机架构和特定的编译器。只要有一个遵守“正确”行为的兼容编译器,C ++代码也可以在完全不同的东西上运行。然后,正确的方法由标准和“抽象机”的行为定义(我希望我到目前为止了解得没错)。
当然,我仍然想知道像内存中的代码段或程序计数器之类的概念是否仍然在标准中“以某种方式”被描述,并且如果是的话,它们被描述到什么程度?
在抽象机中,如何描述依次执行代码片段的概念?
因为有人在评论中问我是否想让标准重复一遍:
我无法理解标准的内容,以便准确地确定它对抽象机或标准哪些语句可以被解释为关于“程序计数器”“代码存储”等抽象概念的语句。因此,出于无能为力,我要求社区解释标准中的内容。预期结果是最详细的抽象机内部结构概念,仍符合“抽象”的标准。
在这个问答网站上阅读同样的主题时,我发现这并不一定是我之前学习的方式,因为我所了解的只是C ++的某种实现,取决于特定的计算机架构和特定的编译器。只要有一个遵守“正确”行为的兼容编译器,C ++代码也可以在完全不同的东西上运行。然后,正确的方法由标准和“抽象机”的行为定义(我希望我到目前为止了解得没错)。
当然,我仍然想知道像内存中的代码段或程序计数器之类的概念是否仍然在标准中“以某种方式”被描述,并且如果是的话,它们被描述到什么程度?
在抽象机中,如何描述依次执行代码片段的概念?
因为有人在评论中问我是否想让标准重复一遍:
我无法理解标准的内容,以便准确地确定它对抽象机或标准哪些语句可以被解释为关于“程序计数器”“代码存储”等抽象概念的语句。因此,出于无能为力,我要求社区解释标准中的内容。预期结果是最详细的抽象机内部结构概念,仍符合“抽象”的标准。