stack 相关问题

堆栈是后进先出(LIFO)抽象数据类型和数据结构。堆栈的一个常见用途是存储子例程参数和返回地址。

列表作为嵌套结构的传回解析

这是如何解析以平坦列表的嵌套结构的后续行动?阅读以进行长时间的解释。 我当前的代码: def parse(代码:列表,top = true) - >元组: 打印(c ...

回答 1 投票 0


回答 2 投票 0

C函数调用堆栈,不存在中间功能(RIP = 1)

在观察堆栈帧的同时,我看到,在B()调用C()之后,在下一个堆栈框架中,RIP指向'1',即rip = 1。c()的所有输入参数也都推到了此堆栈。 只保存了RIP,我看不到任何其他重新指定,包括将EBP推入堆栈。

回答 0 投票 0

分段故障在将堆栈实现为阵列

这是一个菜单驱动的程序,它使用C编程语言中的数组进行基本的堆栈操作。执行的功能是推,流行,窥视,Isempty和Isfull。 #包括<

回答 1 投票 0

为什么在静态内存部分中分配堆栈帧,如果他们没有打电话?为什么表现会增长?

对我的问题进行搜索只会产生无关的结果。这是最接近的,但没有回答我的问题是堆栈“静态分配”的变量? 所以我知道如果是

回答 1 投票 0


eigen:内存分配所需的建议

Eigen::VectorX<Eigen::Matrix<double, 9, 10>> DD 即使我知道编译时的大小,但我需要在堆上分配它,因为DD对于堆栈来说太大了(至少这是Visual Studio 2022告诉我的)。 在这里,事情使我感到困惑。我会尝试解释原因: 您可能已经注意到,DD是居住在堆上的10000尺寸的DD。它的元素是类型的,因此生活在堆栈(?)上。写这篇文章对我来说已经错了。是否可以在堆和堆栈上分配一个对象?还是编译器在堆上移动所有内容? 如果可以在堆和堆栈上分配:从VectorX?读书时会影响性能 我以为我替换为Matrix<double, 9, 10>,然后尝试一下。好吧,它有效,但事情的延长下降了15-20%。因此,我以某种方式认为这个问题给了我的第一个和第二个问题,但我真的还没有说服。 如果我可以替换DDMatrix<double, 9, 10>MatrixXd这会提高性能吗?我如何“强制”我的程序使用堆栈而不是堆? 我还有什么其他或更好的选项来定义?我替换为VectorXVector<..., 10000>,这并没有真正改变任何东西,至少在性能方面。 我需要一直从DD中阅读,因此任何帮助都得到高度赞赏。 记忆是内存,您的CPU没有堆栈与堆的概念。区别在于它们是不同的数据结构。在堆栈上分配元素非常便宜,您只需要增加堆栈指针即可。如果您以相反的顺序进行处理,这也很便宜,只需降低堆栈指针即可。如果您有许多小型分配,例如函数中的局部变量,则堆栈是合适的数据结构。对于大型工作数据,分配成本可以忽略不计,可以在堆上分配它是可以的。 Eigen::Vector是一个连续的内存块,因此类型的元素位于堆分配的数组中。矩阵本身并未分别分配,因为您可以从索引和基本指针计算内存地址。 no 是处理动态大小所需的一些代码,并且还可以抑制编译器的优化。因此,有点放缓是合理的。 Maybe,但我对此表示怀疑,因为迭代在外环中,对性能的关键较少。 我认为您分配的方式还可以。

回答 0 投票 0




使用堆栈检查回文,从而为单个字母提供虚假的负面结果

我想检查一个单词是否是单词。这是我写的python代码。但这并没有给我正确的结果。 堆栈类: 类堆栈: def __init __(self):...

回答 1 投票 0


回答 1 投票 0




void*函数不会保留指向另一个函数内分配的内存的指针

我想创建一个仅出于学习目的的动态堆栈,但是我遇到了一个问题:如果DSTACK未初始化,我想pusk()函数可以处理,并且当我throug时它可以正常工作...

回答 1 投票 0

全球框架与堆栈框架

(顺便说一句,一个很棒的工具和网站)。

回答 1 投票 0

如何在Python中的另一个类的函数中获取呼叫者类名? 我的目标是刺激此应用程序的序列图,我需要在运行时提供有关呼叫者和Callee类名称的信息。我可以成功检索呼叫者函数b ...

#Scenario caller.py: import inspect class A: def Apple(self): print "Hello" b=B() b.Bad() class B: def Bad(self): print"dude" print inspect.stack() a=A() a.Apple()

回答 6 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.