问题标签 [allocation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何使用 new 在结构中分配变量来过度分配内存?
所以我有几个结构......
...并且我想动态分配足够的空间,以便我可以在某些数据中“memcpy”,包括以零结尾的字符串。基本结构的大小显然是“1”(我假设它不能为零),派生的大小是 20,这似乎是有道理的(5 x 4)。
所以,我有一个大小为 29 的数据缓冲区,前 16 个字节是整数,其余 13 个字节是字符串。
如何为 pNewStruct 分配足够的内存,以便为字符串提供足够的内存?理想情况下,我只想去:
- 在 pNewStruct 分配 29 个字节;
- memcpy 从缓冲区到 pNewStruct;
谢谢,
c++ - 从 void 指针缓冲区进行结构实例化
这是一些对我来说看起来很有趣的 C++ 代码,但我知道它有效。
定义了一个结构,在程序中我们使用 void 指针分配内存。然后使用分配的缓冲区创建结构。
这是一些代码
代码有更多的东西,但这就是它的要点。
我没有测试过这段代码,但我正在查看的代码已经过很好的测试,并且可以正常工作。但是怎么做?
谢谢。
编辑:修复了内存泄漏。
c - 指针分配数组
typedef struct { struct table **symbols; // 堆栈数组 int top; //顶部元素的索引 int size; //栈的最大大小 }stack;
在这里,我需要分配堆栈的符号数组,即“...”,但我无法弄清楚它的语法,请帮助:)
c++ - 动态分配C结构?
我想动态分配一个 C 结构:
'offset' 和 'values' 都应该是数组,但它们的大小直到运行时才知道。
如何为我的结构和结构的数组动态分配内存?
c - 如何在 C 中编写线程安全、高效、无锁的内存分配器?
如何在 C 中编写线程安全、高效、无锁的内存分配器?高效我的意思是:
快速分配和释放
最佳内存使用(最小浪费且无外部碎片)
最小的元数据开销
resources - 寻找资源管理/分配系统
我需要的是一个可以定义简单对象的系统(例如,一个“服务器”,可以有一个“操作系统”和“版本”字段,以及其他元数据(IP、MAC 地址等))。
我希望能够以安全的方式从系统请求对象,例如,如果我定义一个“服务器”,可以由 3 个客户端同时使用,那么如果 4 个客户端同时请求一个服务器时间,一个人将不得不等到服务器被释放。
此外,我需要能够以某种查询样式执行请求,例如allocate(type=System, os='Linux', version=2.6)
.
语言无关紧要,但 Python 是一个优势。
在过去的几天里,我一直在谷歌上搜索类似的东西,但一无所获,也许这种系统有一个更好的名字,我不知道。
有什么建议吗?
谢谢!
c++ - 一个库强制我对 new/delete 进行全局重载!
我正在为一个大型闭源应用程序维护一个插件(实现为 dll)。这多年来一直运行良好。然而,随着其 SDK 的最新更新,供应商重载了全球运营商 new 和 delete。这给我带来了很多麻烦。发生的事情是我的插件分配了一个字符串。我将此字符串传递到一个静态链接库中,该库对其进行修改(更改它的长度,从而重新分配它)。我的应用程序崩溃。
原因当然是字符串存在于供应商分配的自定义堆上。静态链接库对此堆一无所知,并尝试在该内存上使用默认的 new/delete 运算符。繁荣。
现在的问题是:我怎样才能保持我的代码干净并避免使用供应商的运营商?没有条件预处理器宏。我无法避免包含有问题的标头,因为它包含我需要的插件多 2000 行代码。我无法将提供的分配器传递到另一个库,因为它没有为此提供任何机制。我已经向供应商提出了这个问题。我不知道我还能尝试什么?
附录:经过一番激烈辩论后,我设法说服供应商再次从下一版本的 SDK 中删除重载。我通过简单地破解当前的 SDK 并手动删除重载解决了我的直接问题。感谢此线程中的所有建议。它们充当了论据,并进一步“证明”了为什么重载首先是一个坏主意。
dynamic - C Builder 6中按钮的动态分配?
我想做一个井字游戏。当我调整窗口大小时,我想在界面上显示更多按钮。从 3x3 到 4x4 等到 9x9 的矩阵,取决于我调整窗口大小的程度。我该怎么做呢?
我将为任何为我提供有效答案的人制作免费的网站设计(以及完整的井字游戏程序的额外内容)。
谢谢!
java - Java 对象创建和内存大小
我试图了解使用new运算符创建 Java 对象时将分配的大小。
考虑到我正在创建一个类
当我创建NewClass
using的实例时NewClass nc = new NewClass();
。NewClass
在堆中创建的大小是多少?
~ 杰根
c++ - 查找内存分配错误
我在以下简化代码中遇到内存分配错误(以及随后的崩溃):
(1) 或 (2) 发生。
现在,如果我不考虑错误(使用调试器)继续继续,则该值确实已输入到映射中。
我不知道 ReadFromFuncThatMayBeProblem() 是否是罪魁祸首,但这是一个相当复杂的函数,我无法在此详述。
此外,这是在应用程序的其他部分被移植到使用 OpenSSL 之前已经工作(或至少看起来工作)的代码。不过,我不知道这是否会对这里产生任何影响。
那么,我可以做些什么来追踪这个分配错误,因为我假设上面的代码实际上不是问题?
编辑:更多信息:MyType 没有 dtor。
但是,MyType 有一个 SecondType 类型的成员,它有一个 void* 成员。这在该类型的析构函数中被删除并为空。构造函数使用 m_pData = new std::wstring( ( (std::wstring )source.m_pData) ); 对于字符串。(其他数据类型也类似)。这可能是个问题吗?(删除 static_cast< std::wstring* >( m_pData );)
MyType 的其他成员类型是 std::wstring、unsigned long、bool、enum、structs(其中包括 timeb)和 SecondType。