Questions tagged «heap»

堆(数据结构)是按深度排序的树。堆也可以引用为动态分配而预留的进程内存。

14
如何调试堆损坏错误?
我正在Visual Studio 2008下调试(本机)多线程C ++应用程序。在看似随机的情况下,出现“ Windows触发了断点...”错误,并指出这可能是由于堆。这些错误不会总是立即使应用程序崩溃,尽管可能会在不久后崩溃。 这些错误的最大问题是它们仅在损坏发生后才弹出,这使得它们很难跟踪和调试,尤其是在多线程应用程序上。 什么样的事情会导致这些错误? 如何调试它们? 欢迎使用提示,工具,方法,启示...。
165 c++  windows  debugging  heap 

9
C ++中的堆栈,静态和堆
我已经搜索过,但是我对这三个概念不太了解。什么时候必须使用动态分配(在堆中),它的真正优势是什么?静态和堆栈有什么问题?我可以编写整个应用程序而不在堆中分配变量吗? 我听说其他语言结合了“垃圾收集器”,因此您不必担心内存。垃圾收集器做什么? 如果使用此垃圾收集器无法完成操作,那么您可以自己处理内存吗? 有人对我说了这个声明: int * asafe=new int; 我有一个“指向指针的指针”。这是什么意思?它的不同之处在于: asafe=new int; ?


5
分配向量后,它们会使用堆还是堆栈上的内存?
以下所有陈述是否正确? vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack vector<Type*> vect; //vect will be on stack and Type* will be …
151 c++  stl  vector  stack  heap 



8
数组,堆和堆栈以及值类型
int[] myIntegers; myIntegers = new int[100]; 在上面的代码中,是否是new int [100]在堆上生成数组?根据我通过c#进行的CLR阅读,答案是肯定的。但是我不明白的是,数组内部的实际int发生了什么。因为它们是值类型,所以我想必须将它们装箱,例如,我可以将myIntegers传递给程序的其他部分,如果一直将它们留在程序中,则会使堆栈混乱。还是我错了?我猜想它们会被装箱,并且只要数组存在就可以在堆中生存。
134 c#  arrays  memory  stack  heap 

30
“ zend_mm_heap损坏”是什么意思
突然之间,我的应用程序出现了前所未有的问题。我决定检查Apache的错误日志,并发现一条错误消息,指出“ zend_mm_heap已损坏”。这是什么意思。 操作系统:Fedora Core 8 Apache:2.2.9 PHP:5.2.6

10
在C ++中正确使用堆栈和堆?
我已经编程了一段时间了,但主要是Java和C#。我从来没有真正需要自己管理内存。我最近开始用C ++进行编程,对于何时将内容存储在堆栈上以及何时将它们存储在堆上,我有些困惑。 我的理解是,经常访问的变量应该存储在堆栈和对象中,很少使用的变量以及大型数据结构都应该存储在堆中。这是正确的还是我不正确的?


7
Android Gradle无法为对象堆保留足够的空间
我已经安装了Android Studio 1.1.0。我还没有像启动新的Android应用程序或导入任何东西那样做任何事情。它以某种方式试图构建某些东西,并引发同步错误。 错误:无法启动守护进程。此问题可能是由守护程序的错误配置引起的。例如,使用无法识别的jvm选项。请在http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html上查看守护程序的用户指南一章。 请阅读以下过程输出以了解更多信息: VM初始化期间发生错误。无法为对象堆保留足够的空间。无法创建Java虚拟机。 我已经检查过,gradle.org/.../gradle_daemon.html但找不到任何可以帮助我解决问题的方法。 这不是内存问题,因为我有8GB的物理内存,并且没有其他程序在运行。
91 android  gradle  jvm  heap 



11
在分配的内存上不使用free()是否可以吗?
我正在学习计算机工程,并且有一些电子课程。我听到了,从我的两个教授(这些课程),有可能避免使用的free()功能(后malloc(),calloc()等),因为分配可能不会被再次使用的存储空间分配等内存。也就是说,例如,如果您分配4个字节然后释放它们,则将有4个字节的空间,可能不会再分配:您将有一个Hole。 我认为这很疯狂:您不能拥有一个非玩具程序,在其中不释放内存就在堆上分配内存。但是我没有知识来确切解释为什么它如此重要以至于每个人都malloc()必须有一个free()。 因此:在任何情况下都可以malloc()不使用而使用afree()吗?如果没有,我该如何向教授解释?

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 

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.