Questions tagged «stack»

堆栈是后进先出(LIFO)抽象数据类型和数据结构。对于有关调用堆栈的问题,请改用[callstack]或[stack-pointer]。对于有关Haskell构建工具的问题,请改用[haskell-stack]。对于有关C ++中标准堆栈的问题,请改用[stdstack]。

14
堆栈会向上还是向下生长?
我在c中有这段代码: int q = 10; int s = 5; int a[3]; printf("Address of a: %d\n", (int)a); printf("Address of a[1]: %d\n", (int)&a[1]); printf("Address of a[2]: %d\n", (int)&a[2]); printf("Address of q: %d\n", (int)&q); printf("Address of s: %d\n", (int)&s); 输出为: Address of a: 2293584 Address of a[1]: 2293588 Address of a[2]: 2293592 Address …
88 c  memory  stack 


17
堆栈如何以汇编语言工作?
我目前正在尝试了解堆栈的工作原理,因此我决定自学一些汇编语言,我正在使用这本书: http://savannah.nongnu.org/projects/pgubook/ 我正在使用Gas并在Linux Mint上进行开发。 我对某些东西感到困惑: 据我所知,堆栈只是一个数据结构。因此,我假设如果我要在汇编中进行编码,则必须自己实现堆栈。但是,似乎并非如此,因为有些命令像 pushl popl 因此,在为x86体系结构进行汇编代码编写并使用Gas语法时:堆栈只是已经实现的数据结构吗?还是实际上是在硬件级别实现的?或者是别的什么?另外,大多数其他芯片组的汇编语言是否已经实现了堆栈? 我知道这是一个愚蠢的问题,但是我对此感到非常困惑。

8
内存分配:堆栈还是堆?
我对Stack vs Heap之间的内存分配基础感到困惑。根据标准定义(每个人都说),所有值类型都将分配到堆栈上,而引用类型将放入堆中。 现在考虑以下示例: class MyClass { int myInt = 0; string myString = "Something"; } class Program { static void Main(string[] args) { MyClass m = new MyClass(); } } 现在,如何在c#中进行内存分配?MyClass(m)的对象会完全分配给堆吗?也就是说,int myInt和string myString既会去堆? 还是将对象分为两部分,并分配给两个内存位置,即堆栈和堆?
83 c#  .net  stack  heap 


2
什么是ARM中的SP(堆栈)和LR?
我一遍又一遍地阅读定义,但仍然没有得到ARM中的SP和LR?我了解PC(它显示下一条指令的地址),SP和LR可能相似,但我不了解它是什么。请你帮助我好吗? 编辑:如果您可以通过示例进行说明,那就太好了。 编辑:终于弄清楚了LR是什么,仍然没有得到SP是什么。
76 assembly  stack  arm 

23
为什么不对C ++中的所有内容使用指针?
假设我定义了一些类: class Pixel { public: Pixel(){ x=0; y=0;}; int x; int y; } 然后使用它编写一些代码。为什么要执行以下操作? Pixel p; p.x = 2; p.y = 5; 来自Java世界,我总是写: Pixel* p = new Pixel(); p->x = 2; p->y = 5; 他们基本上做同样的事情,对不对?一个在堆栈上,另一个在堆栈上,因此以后我必须将其删除。两者之间有根本区别吗?为什么我要优先选择另一个?
75 c++  pointers  stack  heap 

2
浏览器Javascript堆栈大小限制
我在IE浏览器中遇到了一些客户端Javascript堆栈溢出问题,这是在第三方库中发生的,该第三方库进行了一些函数调用,并且由于某些原因,它们有时仅由于IE堆栈限制低而在IE中制动。 然后,我编写了一个小的测试HTML,以测试某些浏览器的堆栈大小限制,发现与运行Windows 7 OS,8Gb RAM的笔记本电脑上的FF 7或Chrome 14相比,IE8实际上具有较小的堆栈限制: <html> <body> <!-- begin Script: --> <script type="text/javascript"> function doSomething(){ var i = 3200; doSomethingElse(i); } function doSomethingElse(i){ if (i == 0) return -1; doSomethingElse(i-1); } doSomething(); </script> <!-- END OF PAGE --> </body> </html> 当值大约为3200时,IE会引起堆栈溢出,与IE相比,Firefox和Chrome可以处理非常深的递归。 我想知道是否有一种方法可以将堆栈溢出异常与在IE或任何其他浏览器中在运行时引发它的Javascript函数联系起来,以及是否可以通过错误被提出。

3
如何使用GDB检查堆栈框架?
现在,我一直在使用GDB分解二进制文件,并检查不同的寄存器等等。是否有一个简单的命令来检查堆栈上的所有内容?可以限制到函数中的所有内容吗?
74 gdb  stack 

11
Android从后堆栈中删除活动
好的,所以我对如何处理此事感到困惑。所以我有了MainActivity,可以从那里将一个Activity启动到DegreePlanActivity,然后从那里可以将另一个Activity启动到EditDegreePlan。我在AndroidManifest中将EditDegreePlan设置为noHistory。问题是在他们保存EditDegreePlan之后,它将启动一个Activity到DegreePlan。因此,如果用户按Back,则必须按两次以再次进入MainActivity。我想摆脱它,所以他们只需要按下一次即可。不过,我对如何执行此操作感到困惑。 如果我将DegreePlanActivity设置为noHistory,则他们在EditDegreePlan中无法按Back。 我尝试覆盖onBackPressed方法并启动MainActivity的意图。然后的问题是,他们必须多次按Back才能退出应用程序。 我该怎么办?
73 android  stack 


1
查看Android中的活动堆栈[关闭]
在这里很难说出要问什么。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,因此不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 8年前关闭。 是否可以在Android中查看活动堆栈以进行调试?

3
如何找到将物品移到堆栈中某个位置的最小移动次数?
给定一组NXP堆栈,其中N为堆栈数,P为堆栈容量,我如何计算从位置A的某个节点移动到任意位置B所需的最小交换数?我正在设计一个游戏,最终目标是对所有堆栈进行排序,以使它们都具有相同的颜色。 # Let "-" represent blank spaces, and assume the stacks are stacks = [ ['R', 'R', 'R', 'R'], ['Y', 'Y', 'Y', 'Y'], ['G', 'G', 'G', 'G'], ['-', '-', '-', 'B'], ['-', 'B', 'B', 'B'] ] 如果我想在插入一个“B” stacks[1][1]这样stacks[1] = ["-", "B", "Y", "Y"]。如何确定所需的最小移动次数? 我一直在研究多种方法,尝试过遗传算法,可以从状态生成所有可能的移动,对它们进行评分,然后继续沿最佳得分路径前进,我还尝试运行Djikstra的算法来对问题进行寻路。看起来很简单,但是我无法找到一种方法来让它在指数时间以外的任何时间运行。我是否缺少适用于此的算法? 编辑 我已经编写了此函数来计算所需的最小移动量:堆栈:表示堆栈中棋子的字符列表,堆栈[0] [0]是堆栈[0]的顶部stack_ind:将要添加到堆栈中的片断的堆栈stacks.exe def calculate_min_moves(stacks, stack_ind, …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.