标签: memory-management

在什么情况下我使用malloc vs new?

我在C++中看到有多种方式来分配和释放数据,我知道当你打电话给malloc你时应该打电话free,当你使用new操作员时你应该配对,delete将两者混合是错误的(例如,调用free()创建的东西)与new操作员),但我不知道何时应该使用malloc/ free何时应该在我的真实世界程序中使用new/ delete.

如果您是C++专家,请告诉我您在此方面遵循的任何经验法则或惯例.

c++ malloc memory-management new-operator

447
推荐指数
12
解决办法
26万
查看次数

如何仅使用标准库分配对齐的内存?

我刚刚完成了一项测试,作为求职面试的一部分,一个问题让我感到难过 - 甚至使用谷歌作为参考.我想看看stackoverflow工作人员可以用它做什么:

"memset_16aligned"函数需要传递给它的16byte对齐指针,否则它将崩溃.

a)如何分配1024字节的内存,并将其与16字节边界对齐?
b)执行memset_16aligned后释放内存.

{    
   void *mem;
   void *ptr;

   // answer a) here

   memset_16aligned(ptr, 0, 1024);

   // answer b) here    
}
Run Code Online (Sandbox Code Playgroud)

c memory-management

404
推荐指数
9
解决办法
17万
查看次数

"放置新"有什么用途?

有没有人曾经使用过C++的"贴牌新品"?如果是这样,那该怎么办?在我看来,它只对内存映射硬件有用.

c++ memory-management placement-new new-operator

385
推荐指数
18
解决办法
16万
查看次数

linux/unix进程的峰值内存使用情况

是否有一个工具可以运行命令行并报告总共使用了多少RAM?

我在想象类似于/ usr/bin/time的东西

linux command-line memory-management

356
推荐指数
14
解决办法
19万
查看次数

在JavaScript中删除对象

我对JavaScript的delete运算符有点困惑.采取以下代码:

var obj = {
    helloText: "Hello World!"
};

var foo = obj;

delete obj;
Run Code Online (Sandbox Code Playgroud)

在执行了这段代码之后,objnull,但foo仍然指的是一个完全相同的对象obj.我猜这个对象是foo指向的同一个对象.

这让我很困惑,因为我期望写作delete obj删除了obj指向内存的对象- 而不仅仅是变量obj.

这是因为JavaScript的垃圾回收工作在保留/释放的基础,所以,如果我没有指向对象的任何其他变量,它从内存中清除?

(顺便说一句,我的测试是在Safari 4中完成的.)

javascript garbage-collection pointers memory-management object

354
推荐指数
5
解决办法
36万
查看次数

我怎样才能在Python中明确释放内存?

我写了一个Python程序,它作用于一个大的输入文件,创建了几百万个表示三角形的对象.算法是:

  1. 读取输入文件
  2. 处理文件并创建由顶点表示的三角形列表
  3. 以OFF格式输出顶点:顶点列表,后跟三角形列表.三角形由顶点列表中的索引表示

在打印三角形之前打印出完整的顶点列表的OFF的要求意味着在将输出写入文件之前我必须在内存中保存三角形列表.与此同时,由于列表的大小,我遇到了内存错误.

告诉Python我不再需要某些数据的最佳方法是什么,它可以被释放?

python memory memory-management

338
推荐指数
9
解决办法
42万
查看次数

在结构上使用"new"在堆或堆栈上分配它吗?

使用new运算符创建类的实例时,将在堆上分配内存.当您使用new运算符创建结构的实例时,在堆上还是堆栈上分配内存?

.net c# memory-management

281
推荐指数
4
解决办法
8万
查看次数

删除NULL指针是否安全?

删除NULL指针是否安全?

它是一种很好的编码风格吗?

c++ pointers memory-management null-pointer delete-operator

281
推荐指数
5
解决办法
15万
查看次数

279
推荐指数
8
解决办法
19万
查看次数

在php中允许的内存大小为33554432字节(试图分配43148176字节)

正在显示此错误消息,有任何建议吗?

在php中允许的内存大小为33554432字节(试图分配43148176字节)

php memory-management memory-limit

270
推荐指数
11
解决办法
53万
查看次数