c - 带绳子的堆叠机

标签 c stack pypy vm-implementation rpython

我正在 RPython 中使用 PyPy 工具链创建一个基于堆栈的虚拟机,将 RPython 转换为 C。到目前为止,我有 4 条指令。

  1. EOP - 程序结束
  2. EOI - 教学结束
  3. PUSH - 将项目插入堆栈
  4. 打印 - 打印堆栈顶部

我的问题是,如何将字符串插入堆栈顶部。这与将数字插入堆栈顶部相同吗?还是在处理字符串时我必须做其他事情?

最佳答案

这要看情况。您想要推送字符串,还是指向字符串的指针?如果是前者,就会遇到问题,因为字符串的长度是可变的,与指针或数字不同。如果是后者,除了堆栈之外,您还必须考虑内存管理。

关于c - 带绳子的堆叠机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591947/

相关文章:

python - 使用文件转换器时 PyPy 比 CPython 慢

java - 了解 JNI 参数的安全访问

c - printf - 分隔数字和符号

c++ - 如何在 C/C++ 中进行更多预处理

java - 方法 isEmpty() 对于类型 InputStream 错误未定义

c# - 用 C++ 编写的存储结构和类在哪里?

debian - 无法在 Debian 上为 Pypy 安装 Pip

c++ - c/c++ 中的动态矩阵 - 特殊错误

当 hasNextInt() 遇到输入结束时,Java 突然终止

python - PyPy 使用什么样的 JIT 编译器?