10得票5回答
C#或C++游戏:许多16色图像加载到RAM中。高效解决方案是什么?

我正在规划一个格斗游戏,但不确定如何解决与内存有关的问题。 背景信息: - 还在考虑是使用C#(XNA)还是C++。在探索如何在两个语言中解决这个问题之前,我们不想承诺使用哪种语言。 - 如果可能,最大使用256MB RAM会很好。 - 每次只能有两个角色出现,并且这些角色只能在战斗之间更换...

7得票11回答
C++中变量何时从内存中移除?

我已经使用C ++ 一段时间了。但我从来不确定内存管理是如何工作的,所以在这里解释一下: 首先,我不确定函数中的内存是如何被释放的,例如: int addTwo(int num) { int temp = 2; num += temp; return num; } ...

68得票7回答
64位计算机上一个简单的“Hello World”程序需要10G虚拟内存,而32位计算机只需要1G?

在我们的生产机器上运行一个简单的Java程序时,我注意到这个程序会消耗超过10G的虚拟内存。我知道虚拟内存并不是很重要,但至少我想了解为什么需要使用这么多。public class Main { public static void main(String[] args) { ...

7得票5回答
std::string.c_str() 或 std::string.data() 返回的指针需要被释放吗?

据我所知,当你调用std::string的c_str()/data()方法时(无论是否带有终止的NUL字符),它会创建一个与其内容相同的数组副本。不管怎样,这个对象是否也负责释放这个数组,还是我需要自己来做呢? 简而言之: std::string hello("content"); co...

10得票3回答
使用Instruments分析内存泄漏——iPhone 4和iOS 5模拟器之间的巨大差异

在使用Instruments(寻找内存泄漏)来分析我的应用程序时,我发现在iOS 5 iPhone模拟器与运行iOS 5的iPhone 4上得到了非常不同的结果。第一张图片展示了在真机上的分析结果,而第二张是模拟器的结果。 真机: iOS 5 模拟器: 两种情况下,这个分析都取自...

7得票4回答
为什么不应该在init方法中使用访问器方法?

从苹果的有关内存管理文档中可以得知: 唯一不应该在init方法和dealloc方法中使用访问器方法来设置实例变量的地方。为了使用表示零的数字对象初始化计数器对象,您可以按照以下方式实现一个init方法: 为了允许使用计数器以非零计数进行初始化,您可以按照以下方式实现一个initWithCo...

7得票3回答
MATLAB如何处理动态数组分配?

我对MATLAB不是很熟悉,想了解它如何在动态内存分配方面处理? 一种主要的方法是分配大块并超出所需量,这样就不必为每个新元素添加而进行分配。在做一些研究时,我看到许多人会自己管理大块分配(假设他们不知道最终大小)或执行创建最大大小,然后再修整等操作。一个例子是Undocumented MA...

16得票3回答
如何减少C++默认的内存消耗?

我有一个用C++编写的服务器应用程序。启动后,在x86 Linux(Ubuntu 8.04,GCC 4.2.4)上使用约480 KB内存。我认为480 KB是一种过度使用的内存:服务器甚至还没有做任何事情,没有客户端连接到服务器。(参见下面的评论,我在其中解释了为什么认为480 KB是很多的内...

12得票4回答
C++内存管理技术/实践

我开始用C++编写一个项目,这种语言中的内存管理对我来说是新的。 以前我使用new()创建对象,然后传递指针,虽然它能够工作,但调试时很麻烦,而且人们在看到代码时会觉得奇怪。我很自豪的是它没有泄漏或段错误(修复后),但确实需要付出很多努力。list <struct Connection...

11得票4回答
逐步构建NumPy数组并测量内存使用情况

我有一系列的大型文本文件(高达1GB),这些文件是实验输出,需要在Python中进行分析。最好将它们加载到2D numpy数组中,这引发了第一个问题: 由于在加载开始时行数不确定,如何最有效地逐行构建非常大的numpy数组? 简单地将行添加到数组中,在内存方面效率低下,因为两个大数组会...