-
1 votesanswersviews
当对象被销毁时,Delphi对象字段中的动态数组是否会被自动释放/释放?
如果我有一个包含带动态数组的字段的Delphi对象(包含例如字符串),如下所示: TClassWithDynArrayField = class(TObject) public some_dyn_array : array of string; end; 当对象被销毁时,这个数组(和/或它的内容)会被自动释放/释放,还是我必须在对象的析构函数中以某种方式显式地完成它以避免... -
1 votesanswersviews
对JVM的Xmx限制的外部控制?
使用基于java的program,我试图更有效地运行 . 我不熟悉java,但程序文档(pdf pg 15 here)建议在程序.config和.cmd文件中增加-Xmx高端内存限制 . 我能够在以前的机器上将它升级到-Xmx1200M而没有问题但最近升级到新机器(8GB vs 4,Windows 7 64bit和相同版本的Java)但是在新系统上如果我试图增加到超过-Xmx834M加载时收到&q... -
0 votesanswersviews
C结构与CUDA内核的动态数据?
可以说我有一个数据结构: struct MyBigData { float * dataArray; float * targetArray; float * nodes; float * dataDataData; } 我希望能够围绕一些不同的CUDA内核传递这个结构 . 我不想将多个数组作为参数传递,所以我可以通过结构并完成它吗?我知道内核支持C结构,但C结构... -
-1 votesanswersviews
嵌套结构中的动态内存分配
我试图解决一个在C中使用动态内存分配的问题 . 我应该如何接受变量 Date, Month And Year 的元素,它们是结构 Date 的成员 . 我似乎得到了一个错误 . invalid type argument of unary '' (have 'int') printf("%d %d", (Ptr+i)->deptNo, (Ptr+i)->DOJ-&g... -
1 votesanswersviews
如何为C中的字符串数组动态分配内存?
我在C中阅读了以前关于动态数组的问题但是我无法将答案与我的问题联系起来 . 我使用fgets从 stdin 获取命令,删除换行符然后想要在动态分配的字符串数组中存储由空格分隔的每个命令 . 然而,我在分配和重新分配内存的正确方法上遇到了很多麻烦 . 我正在编译 clang 并继续得到分段错误11.然后我使用 -fsanitize=address 并继续获取: == 2286 ==错误:Addre... -
0 votesanswersviews
c中自定义存储分配器的示例或文档?
我分配了一个大的内存区域,假设x为1000字节 . // I am using c language and all of this is just pseudo code(function prototypes mostly) so far. pointer = malloc( size(1000 units) ); // this pointer points to region of mem... -
3 votesanswersviews
在循环中简单使用动态内存会导致bad_alloc
假设我有一个非常简单的循环: #include <iostream> int main() { int i = 0; while (1) { char* c = new char[32]; std::cout << i << " " << c[0] << st... -
5 votesanswersviews
由malloc()`分配的内存有哪些内容?
在 malloc() 用于分配内存空间后,我很好奇指针究竟是什么?该联机帮助页告诉我 calloc() 用零初始化分配的内存空间 . malloc()函数分配大小字节并返回指向已分配内存的指针 . 内存未初始化 . 如果size为0,则malloc()返回NULL或一个以后可以成功传递给free()的唯一指针值 . 和 calloc()函数为每个大小为字节的nmemb元素数组分配内存,并返回... -
-1 votesanswersviews
潜在的动态记忆问题
我正在使用C创建一个Arduino设备 . 我需要一个具有可变大小和可变数据类型的堆栈对象 . 本质上,这个堆栈需要能够调整大小,并与字节,字符,整数,双精度,浮点数,短路和长整数一起使用 . 我有一个基本的类设置,但是由于需要动态内存分配量,我想确保我使用的数据释放足够的空间让程序继续而不会出现内存问题 . 这不使用std方法,而是内置Arduino的版本 . 为澄清,我的问题是: Are th... -
1 votesanswersviews
如何在重新分配我们如何将中间释放的内存带到一个块内存之后分配动态内存并重新分配
假设10k堆 int *p1; p1 = malloc(3*K); 然后,请求另外4K: p2 = malloc(4*K); 3K的内存现在是免费的 . 一段时间后,p1指向的第一个内存分配被解除分配: free(p1); 这样就可以在两个3K的块中释放6K的内存 . 发出进一步的4K分配请求: p1 = malloc(4*K); 这会导致失败 - 将NULL返回到p1 - 因为即使有6... -
1 votesanswersviews
如何在C中分配大型动态数组?
所以 I am currently trying to allocate dynamically a large array of elements in C++ (using "new") . 显然,当"large"变得太大(> 4GB)时,我的程序崩溃了"bad_alloc"异常,因为它无法找到如此大的可用内存块 . 我可以分... -
3 votesanswersviews
COBOL中的动态内存分配
我有一个常见的C函数,我想从C,Fortran和COBOL调用 . 它从数据库中获取x个字节的数据,并将其放在提供给它的char指针中 . 我的示例下面提取1024个字节,但在实际情况下,我希望能够获取比1024字节更大的数据块,因此动态内存分配 . void fetch_data(char *fetched) { static struct {unsigned long data_len... -
0 votesanswersviews
什么时候取消分配复合类型的匿名访问组件?
我想知道为这样的匿名对象回收内存的生命周期/时刻是什么: type Cell_Type is abstract tagged limited record Where : Coordinates_Array; -- 2D array Contents : access String; end CELl_TYPE; Cell_type也是通过分配器创建的 . 对于命名访问类型,我知道规... -
1 votesanswersviews
是否在C中的堆栈或堆上创建激活记录?
我正在阅读有关内存分配和激活记录的内容 . 我有些疑惑 . 任何人都可以制作以下水晶吗? 一个) . 我的第一个疑问是 "Are activation records created on stack or heap in C" ? B) . 这些是我所指的摘要中的几行: - > 即使堆栈区域上的内存是在运行时创建的 - 内存量(激活记录大小)也是在编译时确定的 . 静... -
1 votesanswersviews
realloc如何处理使用calloc分配的内存?
当我们尝试使用 realloc 调整 malloc 分配的内存时,我们通常会这样做: char *ptr = (char *)malloc(size_1); ptr = (char *)realloc(ptr, size_2); 如果 size_2 可能大于或小于 size_1 . 如果新大小较大,则旧数据不会丢失,并且新分配的字节未初始化 . 如果旧地址没有足够的内存来连续存储所有字节, p... -
65 votesanswersviews
静态内存分配和动态内存分配之间的区别
我想知道静态内存分配和动态内存分配有什么区别? 你能用任何一个例子解释一下吗? -
0 votesanswersviews
动态内存分配字符串
如何为字符串动态分配内存? 我想将文本文件作为输入,并希望将文件的字符存储到字符串中 . 首先,我计算文本文件中的字符数,然后动态分配此大小的字符串,然后将文本复制到字符串 . main() { int count = 0; /* number of characters seen */ FILE *in_file; /* input file */ /* ch... -
1 votesanswersviews
动态内存分配代码
我正在学习C(C)中的内存分配基础知识 . #include "stdio.h" #include "string.h" #include "stdlib.h" void main(){ char *str; char *input; int *ilist; int i, size1, size2; ... -
1 votesanswersviews
结构数组中的内存分配
airPdata **airport = malloc(sizeof(airport) * (50+1)); printf("Passes airPdata **airport\n"); // buffer = malloc(sizeof(char) * (50+1)); // puts the strings into char line while(fgets(... -
0 votesanswersviews
内存是否在java中的堆栈或堆上分配? [重复]
这个问题在这里已有答案: Java array using stack space 4个答案 代码段 Scanner sc=new Scanner(System.in); System.out.println("enter size of array"); int size=sc.nextInt(); int[] arr=new int[size];... -
0 votesanswersviews
结构中数组的动态内存分配,
我不明白如何为另一个结构中的结构数组动态分配内存 . 因为,这是我的问题...我有一个包含main的project.c文件,我有另一个polynomial.c文件,它处理所有的poly操作,比如添加术语,将多项式乘以数字等 . 这是polynomials.h的头文件 typedef struct term{ int coeff; int expo; } TERM; typedef... -
0 votesanswersviews
如何在C中合并两段内存?
我应该使用链表实现硬编码malloc和free,其中链表包含免费的节点 . 1.如果正在释放某些东西,我必须用内存检查左右位置,如果它们是空闲的,则将它们合并在一起 . 但是,在以下调用之后,我遇到以下问题 . 注意我们malloc超过x字节b / c它是x sizeof(struct Node) Original Linked List: [2048] Call: ... -
3 votesanswersviews
在C中的结构中,是否需要malloc空间用于函数指针?
例如,我必须在函数中使用以下参数创建结构:一个函数指针,格式为:void(* func)(void *)和一个int id . 要创建的结构如下: typedef struct example { int id; void (*func)(void *); } Example; 现在我的问题是当我为整个结构我的malloc空间时,我是否也为void函数指针的malloc空间,因为... -
-4 votesanswersviews
分配随机号码c [重复]中的字节数
这个问题在这里已有答案: 64 bit large mallocs 9个答案 如何动态分配随机数 . C中的字节数? (比如说) I want to allocate 10 GB of memory ,我怎么能这样做,哪个函数在这里使用会更好,比如malloc,realloc或calloc(因为我不知道它们之间的区别) . 另外,我可以在内存中分配任何类型的数据(并且整个数据应该是同一类型吗... -
0 votesanswersviews
使用malloc()分配内存
在下面的程序中,我试图通过调用 malloc() 来创建一个新的struct(person)来使函数insert()分配内存...但是我收到以下警告:从不兼容的指针类型[默认启用]进行赋值 . . 我该如何使用malloc()函数? #include <stdio.h> /* these arrays are just used to give the parameters to ... -
2 votesanswersviews
(动态内存分配)为什么最大化峰值利用率?
我正在读一本教科书说: 我完全迷失了,让我们说: n = 10 和 p (required payload) = 800 个字节, 这是否意味着在 n = 9 这是第9个分配请求,P9需要是792个字节(假设一个最小分配是8个字节)?我的理解是否正确? -
0 votesanswersviews
有没有办法动态设置我们从fgets()获得的字符串的大小?
我有一个变量char * cmd,我想从fgets()中存储一个字符串 . 有没有办法使用malloc或类似的变量动态分配内存?或者我是否必须预定义其大小并在之后终止null?之前,我将cmd的大小预定义为100,但我试图找到我在哪里得到分段错误 . char *cmd; fgets(cmd, n, stdin); 然后我尝试使用带有空格作为分隔符的strtok()来标记cmd字符串 . -
0 votesanswersviews
动态分配和数组/指针的分段错误
我正在进行一项任务,即引入内存和指针动态分配的原理 . 我过去制作了一个简单的程序,它接受了5个名字和5个分数,然后使用选择排序将它们按降序排列 . 我现在的任务是回到同一个程序并询问用户他们想要输入多少分数,然后使用指针动态分配必要的内存量 . 这是我第一次使用指针和这些概念,所以我仍然试图弄清楚这一切 . 我得到了编译的代码,但是一旦输入任意整数,我想输入多少分数就会得到分段错误错误(这是程序... -
-1 votesanswersviews
使用Malloc通过GMP处理大量数字
已解决: 我觉得很蠢 . GMP很好,这是我的疏忽 . 使用 size_t mpz_sizeinbase (const mpz_t op, int base) 后,我意识到我用来复制结果的char数组太小了 . 增加它的大小解决了它 . 谢谢您的帮助! 我的任务是编写一个C程序,它计算从第1024个元素到第1048576个元素的斐波纳契数列的元素(从2的10次幂到2的20次幂,增加2的幂) .... -
5 votesanswersviews
Windows内存分配问题
我目前正在研究Windows下的 malloc() 实现 . 但在我的研究中,我偶然发现了困扰我的事情: 首先,我知道在API级别,Windows主要使用 HeapAlloc() 和 VirtualAlloc() 调用来分配内存 . 我从here收集 malloc() 的Microsoft实现(包含在CRT中的那个 - C运行时)基本上调用 HeapAlloc() 用于块> 480字节,否...