allocation相关内容

在函数 C 中分配内存二维数组

如何在函数中为二维数组分配动态内存?我试过这样: int main(){诠释 m=4,n=3;诠释** arr;allocate_mem(&arr,n,m);}void allocate_mem(int*** arr,int n,int m){*arr=(int**)malloc(n*sizeof(int*));for(int i=0;i 但它不起作用. 解决方案 您的代码在 *arr ..
发布时间:2022-01-31 09:06:03 其他开发

Julia 中的内存分配

在将程序从 Python 翻译成 Julia 后,我非常不满意: 对于小/非常小的输入,Python 更快 对于中等输入,Julia 更快(但没那么快) 对于大输入,Python 更快 我认为原因是我不明白内存分配是如何工作的(这里是自学者,没有 CS 背景).我会在这里发布我的代码,但它太长而且太具体,除了我之外,它对任何人都没有好处.因此我做了一些实验,现在我有一些问题. ..
发布时间:2022-01-23 19:29:59 其他开发

用 alloca 分配的内存在函数结束时或作用域结束时被释放?

如果我有这样的功能: void bla(int size) {而(b){字符 tmp[大小];……}} 在 while 循环的每次迭代中都会释放 tmp,对吗? 如果我写这个函数: void bla(int size) {而(b){char* tmp = alloca(大小);……}} tmp 在作用域结束或函数结束时被释放? 解决方案 它会在函数结束时被释放,但是由于你在循 ..
发布时间:2022-01-22 12:26:10 其他开发

在 Stack 上声明大数组

我正在使用 Dev C++ 编写一个模拟程序.为此,我需要声明一个数据类型为 double 的一维数组.它包含 4200000 元素 - 例如 double n[4200000]. 编译器没有显示错误,但程序在执行时退出.我已经检查过了,程序对于具有 5000 元素的数组执行得很好. 现在,我知道不建议在堆栈上声明这么大的数组.但是,问题是模拟需要我多次调用数组中的特定元素 - 例如, ..
发布时间:2022-01-22 12:07:36 C/C++开发

带有指针数组的 HDF5 结构

我正在尝试编写一个 HDF5 文件,其结构包含一个 int 和一个 float* typedef struct s1_t {诠释一个;浮动 *b;} s1_t; 但是,在分配 float* 并将值放入其中后,我仍然无法在 hdf5 文件中输出数据.我相信这是因为 write 函数假定复合数据类型是连续的,而动态分配的数组不会.有没有办法通过仍然使用指针数组来解决这个问题? /** 此示例显示 ..
发布时间:2022-01-21 13:08:35 C/C++开发

CUDA - 将设备数据复制到主机?

我有设备变量,在这个变量中,我在设备中分配并填充了一个数组,但是我在将数据获取到主机时遇到了问题.cudaMemcpy() 返回 cudaErrorInvalidValue 错误.我该怎么做? PS:代码只是示例,我知道,在这种特殊情况下,我可以使用 cudaMalloc 因为我知道数组的大小,但在我的真实代码中,它计算的大小设备中的数组,它需要立即分配内存. PS2:我发现了一个类似 ..
发布时间:2022-01-20 18:32:24 其他开发

使用 parse.com 并存在分配内存问题

我是编程新手,过去 3 个月我一直在制作应用程序并学到了一些东西.但我还没有遇到如何解决这个问题.我一直在使用 Parse.com 作为我的服务器,发送图片,保存用户数据等.有了所有这些数据,如果我多次打开某些活动,特别是带有图片的活动,应用程序就会崩溃.现在我已经压缩了图片并使其分辨率最大为 400x400.但不知何故,内存不足的分配不断弹出.有谁知道可以解决这个问题的任何方法?因为当应用程序在 ..

非连续数组部分的源分配

关于最近的帖子关于如何简明地声明数组形状,我尝试了以下三种模式,即(A)自动重新分配,(B)源分配,以及(C)具有假定形状的分配.然后,在源分配的情况下,gfortran 似乎为 b(:,:) 提供了不正确的结果.在这里,我做错了什么,还是仅仅是因为 gfortran 尚未完全支持它?虽然后者似乎很可能,但我不太确定我的 gcc5 和 6 的安装或使用是否正确(我使用的是 Linux x86_64 ..
发布时间:2021-11-27 08:14:00 其他开发

VC++ 中未初始化的内存块

众所周知,Visual C++ 运行时标记未初始化或刚刚释放具有特殊非零标记的内存块.有没有办法完全禁用这种行为,而无需手动将所有未初始化的内存设置为零?它对我的有效非空检查造成了严重破坏,因为 0xFEEEFEEE != 0. 嗯,也许我应该解释得更好一点.我创建并初始化了一个变量(通过 new),一切都很好.当我释放它(通过删除)时,它将指针设置为 0xFEEEFEEE 而不是 NULL ..
发布时间:2021-11-27 08:12:37 C/C++开发

什么是 NSPathStore2?

我所知道的就是: 它是私人的 它以某种方式创建了字符串尝试执行与路径相关的事情 我的意思是,如果它们是私有的,而我的应用程序仍然告诉我 NSPathStore2 正在干扰,我需要知道为什么.我只是想了解为什么 NSPathStore2 的发布会导致我的应用崩溃. 解决方案 NSPathStore2 是 NSString 的子类,用于创建包含路径的字符串.出于所有意图和目的,您 ..
发布时间:2021-11-27 08:12:27 其他开发

一个图书馆迫使我对新/删除的全局过载!

我正在为一个大型闭源应用程序维护一个插件(作为 dll 实现).这多年来一直运作良好.然而,随着 SDK 的最新更新,供应商超载了全局操作符 new 和 delete.这给我带来了很多麻烦.发生的情况是我的插件分配了一个字符串.我将此字符串传递到静态链接库中,该库对其进行修改(更改其长度从而重新分配它).我的应用程序崩溃了. 原因当然是字符串存在于供应商分配的自定义堆上.静态链接库对该堆一无 ..