9得票2回答
C++抽象机器如何存储和执行代码?

在我读的第一本关于C ++的书中,它稍微涉及了代码在计算机上实际执行的细节(提到了程序计数器,调用堆栈,返回地址等)。我发现了解这些东西的工作原理真的很有趣,尽管我知道了解计算机如何工作并不是写出好代码所必需的。 在这个问答网站上阅读同样的主题时,我发现这并不一定是我之前学习的方式,因为我所...

8得票1回答
比较Prolog抽象机的执行效果

我正在寻找研究论文或其他出版物,比较不基于抽象机的Prolog解释器与执行Prolog的不同抽象机(多个)。目前我所见的大多数实现似乎都是以Warren抽象机为基础构建其Prolog解释器,尽管也有其他的抽象机被提出(如Vienna抽象机、面向树的抽象机),但没有任何一种通用的比较方法。我感兴...

7得票3回答
在SECD机器中,“rap”是如何工作的?

我正在使用C#编写SECD机器模拟器,参考了维基百科上的描述。我已经完成了基本操作,但是我不确定如何实现rap指令。 在维基百科上,关于rap的说明如下: rap与ap类似,只是它用当前环境替换虚拟环境中的一个实例,从而使递归函数成为可能。 对于ap,维基百科的说明如下: ap从...

7得票4回答
C++数组和指针的sizeof结果

在 x86_64 架构中,指针大小为 8 字节。我认为 sizeof(x) 应该返回 8 是有道理的。我知道一个 char 是一个字节,z 数组的大小是 5 个字节。那么为什么 sizeof(z) 不返回 8 呢? int* x = new int[10]; char z[5]; // R...