问题标签 [stack-based]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
846 浏览

cpu-registers - 基于寄存器+堆栈的虚拟机如何工作?

我知道基于寄存器以及基于堆栈的虚拟机如何独立工作。我知道两者的优点和缺点。我想知道的是有没有人尝试过将两者合并?

我试图在网上搜索是否存在这样的虚拟机,但无济于事。我得到的最好结果是一篇关于混合虚拟机 ( HyVM ) 的文章。如果确实为编程语言创建了这样的虚拟机,我将有兴趣查看它的源代码以了解它的工作原理。

也许有人可以指出我找到这样一个虚拟机的正确方向,或者将我链接到详细阐述该主题的文章或博客文章。

0 投票
0 回答
10762 浏览

c++ - 堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出 - 已修复

所以我对这个用于像素化图像的程序有一些问题。一个问题是我得到一个“围绕变量'pixArray'的堆栈已损坏”,然后,当我在中断后单击继续时,它会在标题中出现错误。

我不确定使用 pastebin 是否可以接受,但我会使用它来写一个“短”的帖子。

编码

正在使用的图像

此外,当它通过时,所有像素化正方形在正方形的左侧和顶部都太短了一个像素。它只是在写入 outFile 时使用原始数据。如果您可以尝试找出发生这种情况的原因,您将获得奖励积分。

最后,平均值似乎没有正确平均,运行程序后您可以通过图像最右侧周围的方块看到。

任何这些问题的帮助将不胜感激。提前致谢!

编辑:我对代码进行了排序,注释掉了使用pixArray的部分,而在注释掉时修复问题的部分位于函数的底部,getAveragesForRGB

编辑2:我现在一切顺利。以防万一有人出于某种原因遇到这个确切的问题这是getAveragesForRGB我所有问题所在的新问题。

0 投票
1 回答
91 浏览

java - 基于堆栈的指令集是影响 java 性能的最重要因素之一吗?

我们知道java为了增强兼容性而采用了基于栈的指令集,但是栈操作比寄存器操作慢很多,那么这是降低java性能的一个重要因素吗?我了解到java有时也使用寄存器来加速它执行速度,但我不知道java如何以及何时使用寄存器。谢谢!

0 投票
3 回答
1650 浏览

multithreading - Forth 支持多线程吗?

我对 Forth 编程语言有一段时间的简短了解。是否可以在 Forth 中使用同步原语进行多线程处理?

例如,是否可以在 Forth 中使用多个线程进行 n×n 矩阵乘法?如果是这样,基本机制或编程模式是什么?

0 投票
1 回答
4802 浏览

c++ - 基于堆栈的缓冲区溢出

运行我的代码时,出现以下错误:

GameLauncher.exe 中 0x00BA16A0 处未处理的异常:堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出。

我不知道是什么原因造成的。这是由以下代码引起的:

0 投票
3 回答
150 浏览

.net - .NET MSIL:命令如何检测操作数的大小?

MSIL 中有一个add命令可以添加两个参数(从堆栈中弹出、添加、压入堆栈)。它如何知道是否必须弹出 2 个字节或 4 个或 8 个字节?

在 java 中不同的字节码(fadd、dadd、iadd、...),但它们如何在 .NET 中处理呢?

0 投票
1 回答
176 浏览

bitcoin - 基于堆栈的语言的高级语言

我对如何从基于堆栈(类似 Forth)的语言构建更高级别(类似 Java)的语言感兴趣。谁能推荐一些文学作品,最好是一本书?

如果有帮助:该应用程序是从比特币脚本构建的高级语言。

0 投票
2 回答
435 浏览

computation-theory - 'rot' 运算符的必要性

为什么 Forth 实现了rot操作符,为什么它只对栈顶的三个项目进行操作?

是否只是为了方便,或者如果没有这样的指令,Forth 就不是图灵完备的?三的数量是图灵完备的最小可行选项吗?

我可以想象一个可以rotpickor来实现roll。那么如果这三个操作都没有,那它仍然是图灵完备的吗?

0 投票
1 回答
4370 浏览

windows - 系统错误:Windows 系统文件 explorer.exe 中基于堆栈的缓冲区溢出

我遇到了windows的问题。当我打开它时,屏幕每次都会变黑并刷新它。我在安全模式下打开它,错误显示 Explorer.exe 中基于堆栈的缓冲区溢出。请帮我修复它。

完整的错误是:

系统检测到此应用程序 (explorer.exe) 中基于堆栈的缓冲区溢出。此溢出可能允许恶意用户控制此应用程序

0 投票
1 回答
138 浏览

language-agnostic - 基于堆栈的语言:寄存器的优缺点?

我目前正在为代码高尔夫(International Phonetic Esoteric Language/IPEL)设计一种基于堆栈的深奥编程语言,在其当前规范中,它具有一组用户可以修改的值。

然而,在尝试了一些简单的挑战(并且来自更多的程序和 OOP 背景)之后,我一直在考虑添加一个寄存器及其相关指令(堆栈→注册、注册→堆栈等)供用户使用。(这是在版本 -1 语言规范中,但我决定取消它以支持纯堆栈操作。)

在基于堆栈的语言中使用用户可修改的寄存器有什么优点和缺点?