stack相关内容

首次捆绑安装,堆栈级别太深

我使用命令创建了一个全新的 rails 项目rails new qbc --database=mysql.它可以完美地创建所有文件,但是在捆绑安装时出错 $捆绑安装从 https://rubygems.org/获取 gem 元数据............从 https://rubygems.org/.. 获取 gem 元数据不幸的是,发生了致命错误.请参阅捆绑器http://bit.ly/bun ..
发布时间:2022-01-22 12:51:16 其他开发

x86 调用约定:堆栈传递的参数是否应该是只读的?

似乎最先进的编译器将堆栈传递的参数视为只读.请注意,在 x86 调用约定中,调用者将参数压入堆栈,而被调用者使用堆栈中的参数.比如下面的C代码: extern int goo(int *x);int foo(int x,int y){咕(&x);返回 x;} 由OS X 10.10中的clang -O3 -c g.c -S -m32编译成: .section __TEXT,__text,r ..
发布时间:2022-01-22 12:51:11 其他开发

将 std::stack 复制到 std::vector

标准是否保证以下代码可以工作(假设 st 不为空)? #include #include 主函数(){外部 std::stack;>英石;int* end = &st.top() + 1;int* begin = end - st.size();std::vector堆栈内容(开始,结束);} 解决方案 是的. std::stack 只是一个容器适配器 ..
发布时间:2022-01-22 12:51:06 C/C++开发

gcc -mpreferred-stack-boundary 选项

我想知道在 GNU 编译器编译过程中 -mpreferred-stack-boundary 选项有什么用.我已经检查了文档,但我失去了解释.谁能解释一下. 解决方案 我想知道在 GNU 调试器中编译期间 -mpreferred-stack-boundary 选项的用途. 该选项与调试器完全无关. 它会影响二进制文件中生成的代码.默认情况下,GCC 将安排事情,以便每个函数在 ..
发布时间:2022-01-22 12:50:58 服务器开发

如何将 int 转换为 const int 以在堆栈上分配数组大小?

我正在尝试将堆栈上的固定大小分配给整数数组 #include使用命名空间标准;诠释主要(){诠释 n1 = 10;const int N = const_cast 但是,这会在我使用 N 定义固定的最后一行出现错误 错误 C2057:预期的常量表达式. 但是,如果我将 N 定义为 const int N = 10,则代码编译得很好.我应该如何对 n1 进行类型转换以将其视为 const ..
发布时间:2022-01-22 12:50:49 C/C++开发

在 O(1) 时间内检索堆栈中的 Min 元素

我问这个问题的原因是因为我不明白为什么我认为的方式不能应用于这个特定问题 “你将如何设计一个堆栈,除了push和pop,还有一个函数min,它返回最小元素?push、pop 和 min 都应该在 O(1) 时间内运行" 我的基本解决方案:如果我们在 stack 类中有一个变量,那么当我们将一个项目推入堆栈时,我们会检查它是否有可能比我们的 min 变量小.如果是赋值给最小值,如果不是忽 ..
发布时间:2022-01-22 12:50:36 其他开发

Android:如何使启动器始终打开主活动而不是子活动?(或其他)

我有活动 A 和 B.A 是带有 LAUNCHER 意图过滤器的活动(即当我们单击主屏幕上的应用程序图标时启动的活动). A 使用 startActivity(new Intent(A.this, B.class)) 启动 B. 当用户打开 B 活动,然后将我的应用程序置于后台,然后我的应用程序进程被杀死,当用户再次启动我的应用程序时,打开 B 而不是 A. 这导致我的应用强制关 ..
发布时间:2022-01-22 12:50:28 移动开发

捕获后如何在erlang中编写异常堆栈跟踪?

假设我有这样的事情: 试试 code_that_fails()抓住_:_->...... 如何在 catch 块中打印堆栈跟踪?该块捕获所有异常,但我不知道如何打印堆栈... 你能帮帮我吗? 解决方案 从 Erlang 21.0 开始,有一个新的官方方法来获取堆栈跟踪.异常中第三个参数的 try 表达式 中的可选模式匹配,其中将包含堆栈跟踪: 试试code_that_fails ..
发布时间:2022-01-22 12:50:18 其他开发

如何从 obj-c/ios 中的堆栈跟踪中获取源代码行

我使用 NSSetUncaughtExceptionHandler 将堆栈跟踪打印到 iPhone 的本地文件中,该文件将在应用程序下次启动时发送到我们的服务器.然后我可以检查异常数据并修复错误.在某些崩溃中,我有模块名称和引发异常的函数,这些都很容易.但主要是我有这样的东西: "4 libc++abi.dylib 0x35bba3c5 _ZL19safe_handler_callerPFvvE ..
发布时间:2022-01-22 12:50:09 移动开发

list.pop 的 numpy 等效项?

是否有一个 numpy 方法等效于 python 列表的内置 pop 方法? Popping 显然不适用于 numpy 数组,我想避免列表转换. 解决方案 NumPy 数组没有 pop 方法,但你可以只使用基本切片(这会很有效,因为它返回一个视图,而不是副本): 在 [104]: y = np.arange(5);是的出[105]:数组([0, 1, 2, 3, 4])在 [106 ..
发布时间:2022-01-22 12:50:02 Python

C++/C/Java: Anagrams - 从原始字符串到目标;

我正在尝试解决这个问题:http://uva.onlinejudge.org/external/7/732.html.对于给定的示例,它们为我们提供了原始单词,例如 TRIT 和目标“anagramed"字符串 TIRT. 目标:我们必须输出所有有效的'i'和'o'序列(分别是push和pop's),它们从源字符串产生目标字符串. 所以,我正在考虑计算 "i" 和 "o" 的所有排列, ..
发布时间:2022-01-22 12:49:52 Java开发

初学者对x86栈的困惑

首先,我想知道这个模型是否是堆栈“框架"过程的准确表示. 有人告诉我,从概念上讲,堆栈就像一个可乐瓶.糖在底部,你把它填满.考虑到这一点,如果 EIP 在另一个瓶子中(它在代码段中,而不是堆栈段中),调用如何告诉 EIP 寄存器“定位"被调用函数?我在YouTube上看了一个视频,说“RAM的代码段"(保存函数的地方)是EIP寄存器所在的地方. 解决方案 通常,计算机程序使用四种内存 ..
发布时间:2022-01-22 12:49:35 其他开发

给 jvm 的线程堆栈大小选项(-Xss)是什么?为什么它在 Windows pc 中至少有 68k 的限制?

我见过 JVM 选项 -Xss - 它究竟做了什么? 这个链接,但我的问题是这个选项有什么用处. 因为,如果我们为 -Xss 值设置一个非常小的限制,则线程可能无法正常工作,因为它可能会在大多数情况下抛出 stackOverflow 错误. 为什么这个值至少有 64k 个限制? 我如何得到这个 64k 限制是当我试图在 IntelliJ iDE 上配置运行时 vm 选项时,我试图给出 ..
发布时间:2022-01-22 12:49:28 Java开发

如何查看我的 delphi 应用程序中当前使用了多少堆栈空间?

如何查看我的 delphi 应用程序中当前使用了多少堆栈空间?我遇到了一个非常奇怪的错误,听起来像是堆栈问题.我想将它添加到我的应用程序的日志中,以了解正在使用/剩余的堆栈空间.使用调试器可能不是很好,因为该例程可以被多次调用. 谢谢! 解决方案 {$IFDEF MSWINDOWS}函数 currentStackUsage: NativeUInt;//注意:Win32 使用 FS,W ..
发布时间:2022-01-22 12:49:21 其他开发

垃圾收集器如何知道堆栈帧上的引用?

现代垃圾收集器(如在 CLR、JVM 中)使用哪些技术来判断堆栈中引用了哪些堆对象? 具体来说,VM 如何从知道堆栈开始的位置返回到解释所有对堆对象的本地引用? 解决方案 在 Java 中(很可能在 CLR 中,虽然我不太了解它的内部结构),字节码是用对象与原始信息输入的.因此,字节码中有数据结构来描述每个堆栈帧中的哪些变量是对象,哪些是原语.当 GC 需要扫描根集时,它使用这些 S ..
发布时间:2022-01-22 12:49:11 其他开发

如何调试 Android ANR?

我的 Android 应用最近在 Google Play 控制台中收到了很多 ANR 报告.由于当我在应用程序中加入 Google Analytics 时就开始发生这种情况,我强烈怀疑是由 Analytics 引起的. 问题是我知道如何使用堆栈跟踪来调试崩溃.但我不确定如何调试 ANR.我猜 ANR 意味着主线程在某处被阻塞.但是如何知道它被阻塞在哪里呢?请参阅下面我最近得到的典型 ANR ..
发布时间:2022-01-22 12:48:47 移动开发

当从另一个应用程序启动时,应用程序失去了记住其堆栈的能力

现在我已经对此进行了更多研究,我正在重写它以使其更清晰.如果您正在寻找更多信息,可以在旧版本中找到一些信息. 发生了什么: (这是指没有设置任何launchMode的应用程序设置,所以使用默认值) 您从市场或安装程序启动应用程序.这启动应用程序的根/主要活动FLAG_ACTIVITY_NEW_TASK 标志并且没有类别.现在的应用程序堆栈是 [ A ] 然后您继续进行应用程 ..
发布时间:2022-01-22 12:48:31 移动开发

new 在堆栈而不是堆上(如 alloca 与 malloc)

有没有办法使用 new 关键字在堆栈上分配(ala alloca)而不是堆上(malloc)? 我知道我可以自己破解,但我不想这样做. 解决方案 要在栈上分配,要么将你的对象声明为局部变量按值,或者你可以实际使用alloca来获取一个指针,然后使用就地 new 运算符: void *p = alloca(sizeof(Whatever));新的(p)随便(constructorAr ..
发布时间:2022-01-22 12:48:25 C/C++开发

为什么 Go 没有 stackoverflows

我在此演示文稿中读到 http://golang.org/doc/ExpressivenessOfGo.pdf第 42 页: 安全 - 没有堆栈溢出 这怎么可能?和/或 Go 如何避免这种情况? 解决方案 这是一个叫做“segmented stacks"的特性:每个goroutine都有自己的栈,在堆上分配. 在最简单的情况下,编程语言实现对每个进程/地址空间使用一 ..

Push 和 Pop 对 Stack 意味着什么?

长话短说,我的讲师很垃圾,通过投影仪向我们展示了前缀堆栈的中缀,他的大黑影挡住了一切,所以我错过了重要的东西 他指的是push和pop,push = 0 pop = x 他举了一个例子,但我根本看不出他是如何得到答案的, 2*3/(2-1)+5*(4-1) 步骤 1 反向:)1-4(*5+)1-2(/3*2 好的,我可以看到 然后他继续写 x 和 o 的操作,我完全迷路了 ..
发布时间:2022-01-22 12:47:49 其他开发