当我检查我的应用程序内存泄漏时,它显示12个泄漏。这有什么影响?
我使用了如下所示的全局变量
#import "file1.m"
int num;
#import "file2.m"
extern int num;
num = 10;
这会导致内存泄漏吗?
任何人都请帮忙。我是编程的初学者。
答案 0 :(得分:3)
不,你不在这里分配任何动态内存,所以它(绝对是)不能泄漏。
如果使用“泄漏”工具运行应用程序,您可以看到发生泄漏的行 - 窗口底部有“扩展详细信息”按钮,显示内存实际泄漏(或怀疑泄漏)的调用堆栈。 / p>
答案 1 :(得分:3)
周围有一个全局int
不应该算作或导致内存泄漏。更典型的全局计数内存泄漏是,如果您有一个指向单个对象的全局指针,该对象初始化一次,然后在该进程的生命周期内挂起。即使它们在技术上不是,它们也会显示为内存泄漏。
我唯一关注的漏洞与非全局非静态变量有关,因为这些漏洞往往是“真正的”漏洞。
答案 2 :(得分:2)
我非常怀疑。内存泄漏是动态分配(换句话说,运行时分配而不是编译时),您忘记释放它们。像num
这样的全局变量应该在可执行文件的持续时间内存在,因此它们不应被视为泄漏。
我怀疑你必须去别处看看。
也许如果您从泄漏检查器发布了输出,我们可以提供更多帮助。
答案 3 :(得分:0)
你有XCode 3.2吗?也许你看看静态分析器(Build and Analyze)。它通常可以帮助您查找内存泄漏。