allocation相关内容

在什么情况下我应该使用 memcpy 而不是 C++ 中的标准运算符?

我什么时候可以使用 memcpy 获得更好的性能,或者我如何从使用中受益?例如: float a[3];浮动 b[3]; 是代码: memcpy(a, b, 3*sizeof(float)); 比这个更快? a[0] = b[0];a[1] = b[1];a[2] = b[2]; 解决方案 效率不应该是你的问题. 编写干净的可维护代码. 让我感到困扰的是,这么多答案表明 me ..
发布时间:2021-11-27 08:11:48 C/C++开发

声明切片还是制作切片?

在 Go 中,var s []int 和 s := make([]int, 0) 有什么区别? 我发现两者都有效,但哪个更好? 解决方案 除了 fabriziom 的 答案,您可以在“[]int 的使用: 由于切片的零值 (nil) 的作用类似于零长度切片,您可以声明一个切片变量,然后在循环中附加到它: //过滤器返回一个只持有的新切片//s 中满足 f() 的元素func ..
发布时间:2021-11-27 08:11:38 其他开发

请求 Boost Pool 体验.它作为预分配的分配器有用吗?

最近我一直在寻找池/分配器机制.Boost Pool 似乎提供了解决方案,但仍有一些东西无法从文档中推断出来. 需要分配什么 几个小班(约 30 个字符) std::map(我想确保它不会自己执行动态分配器) pugi::xml 中的分配 标准::字符串 如何控制分配的地址空间(或只是数量) object_pool 似乎为分配需求提供了一种好方法 1)然而,它想为分配 ..
发布时间:2021-11-27 08:11:32 C/C++开发

Malloc错误“无法分配区域"失败,错误代码 12.知道如何解决这个问题吗?

我收到此错误,不知道该怎么办: AppName(3786,0xa0810540) malloc: *** mmap(size=16777216) failed (error code=12)*** 错误:无法分配区域*** 在 malloc_error_break 中设置断点进行调试 如果我在发生错误的那一行设置了一个断点,我不知道我必须专门搜索什么.在工具中,我检查了分配,并且该值正在增加, ..
发布时间:2021-11-27 08:11:13 移动开发

限制 Mathematica 内存使用的正确方法?

在 32 位操作系统下,分配给任何程序的最大内存是有限的,Mathematica 会优雅地终止内核并返回最大内存分配错误. 然而,在 64 位操作系统上,Mathematica 将自由使用所有可用内存并使系统停止.因此,限制内存使用量的正确方法是什么?可以将 MemoryConstrained 与 $Pre 或 CellEvaluationFunction 结合使用,但我宁愿不为此目的绑定其 ..
发布时间:2021-11-27 08:11:04 其他开发

malloc(0) 真的有效吗?

可能的重复: malloc(0) 有什么意义? 为什么 malloc(0) 实际上返回一个有效的写入指针? char *str = NULL;str = (char*)malloc(0);//分配 0 字节 ?printf("str的指针:%p\n", str);strcpy(str, "一个很长的字符串.......");printf("str的值:%s", str);免费(字符串); ..
发布时间:2021-11-27 08:10:53 其他开发

将大小作为参数传递 VS 在 Fortran 过程中假设形状

我正在尝试决定这两个选项中的哪一个是最好的: 子程序 sqtrace( Msize, Matrix, Value )整数,意图(输入):: Msize实数*8,意图(输入):: 矩阵(Msize,Msize)真实*8,意图(输出):: 值[指示...]结束子程序 sqtrace VS 子程序 sqtrace( Matrix, Value )实数*8,意图(输入)::矩阵(:,:)真实*8,意 ..
发布时间:2021-11-27 08:10:32 其他开发

本地可分配数组和自动数组的区别

我对以下摘录中 alloc_array 和 automatic_array 之间的区别很感兴趣: 子程序 mysub(n)整数,意图(输入):: n整数::automatic_array(n)整数,可分配 :: alloc_array(:)分配(alloc_array(n))...[代码]... 我非常熟悉分配的基础(对高级技术不太了解)知道分配允许您在代码中间更改数组的大小(如所指出的在这个 ..
发布时间:2021-11-27 08:10:22 其他开发

内存分配/解除分配?

我最近一直在研究内存分配,但对基础知识有些困惑.我一直无法理解这些简单的东西.分配内存是什么意思?发生什么了?我希望能回答以下任何问题: 正在分配的“内存"在哪里? 这个“记忆"是什么?数组中的空间?或者是其他东西? 当这个“内存"被分配时会发生什么? 当内存被释放时会发生什么? 如果有人能回答 malloc 在这些 C++ 行中做了什么,那也真的对我有帮助: ch ..
发布时间:2021-11-27 08:10:13 C/C++开发

在调用 free 之前检查 NULL

许多 C 代码释放指针调用: if (p)免费(p); 但是为什么呢?我认为 C 标准说 free 函数在给定 NULL 指针的情况下不会做任何事情.那么为什么要进行另一次显式检查? 解决方案 构造: free(NULL); 在 C 中一直很好,回到由 Dennis Ritchie 编写的原始 UNIX 编译器.预标准化,一些糟糕的编译器可能没有正确地使用它,但是现在任何没有标准化 ..
发布时间:2021-11-27 08:09:57 其他开发

Java 中的转义分析

据我所知,JVM 使用转义分析来获得某些性能优化 类似于锁粗化和锁省略.我很感兴趣 JVM 是否有可能决定使用转义分析在堆栈上分配任何特定对象. 一些资源让我觉得我是对的.是否有 JVM 真正做到这一点? 解决方案 我不认为它对堆栈分配进行逃逸分析.例子: public class EscapeAnalysis {私有静态类 Foo {私有整数 x;私有静态整数计数器;公共 Foo ..
发布时间:2021-11-27 08:09:48 Java开发

C/C++ 的多线程内存分配器

我目前有大量多线程的服务器应用程序,我正在四处寻找一个好的多线程内存分配器. 到目前为止,我很纠结: 太阳的乌梅 Google 的 tcmalloc 英特尔的线程构建块分配器 Emery Berger 的宝藏 据我所知,hoard 可能是最快的,但我在今天之前没有听说过它,所以我怀疑它是否真的像看起来一样好.任何人都有尝试这些分配器的个人经验? 解决方案 我使用过 ..
发布时间:2021-11-27 08:09:31 C/C++开发

如何分析内存使用情况 &与仪器的性能?

在所有仪器跟踪模板中,我喜欢使用: 僵尸检测对象在哪里被过度释放,非常适合调试 EXEC_BAD_ACCESS 错误. 泄漏检测内存泄漏. 核心动画 w 颜色混合层来检测帧速率和半透明子视图,非常适合平滑 UITableView 滚动. 我总是听到人们说要分析我的应用程序的内存使用情况&性能. 为什么要分析内存使用情况 &表现?我的应用运行良好. 我该怎么做? 我使用 ..
发布时间:2021-11-27 08:09:21 其他开发

malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int))

我承认所有这三个都有不同的含义.但是,我不明白这些适用于哪些特定情况.任何人都可以为每一个分享一个例子吗?谢谢. malloc(sizeof(int))malloc(sizeof(int *))(int *)malloc(sizeof(int)) 解决方案 malloc(sizeof(int)) 意味着您正在分配堆外的空间来存储 int.您保留了 int 所需的字节数.这会返回一个您应该转 ..
发布时间:2021-11-27 08:09:03 其他开发

结构总是堆栈分配还是有时堆分配?

我的印象是,在 C# 中,结构元素在堆栈上分配,因此在从创建它们的方法返回时消失.但是如果我将 struct-values 放在一个列表中并返回它会发生什么?元素存活.结构实例有时会在堆上分配吗? 内部结构Stru{公共国际我;}内部类 StruTry{公共列表获取(整数最大值){var l = new List();for (int i = 0; i ..
发布时间:2021-11-27 08:08:56 C#/.NET