Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C UUID创建内存泄漏_C_Windows_Memory Leaks_Uuid - Fatal编程技术网

C UUID创建内存泄漏

C UUID创建内存泄漏,c,windows,memory-leaks,uuid,C,Windows,Memory Leaks,Uuid,有人能解释为什么我在下面的代码中出现+1.55KB的内存泄漏,以及我应该如何避免它 void TestGuid() { UUID id; ZeroMemory(&id, sizeof(UUID)); UuidCreate(&id); } int _tmain(int argc, _TCHAR* argv[]) { TestGuid(); // Memory Snapshot 1 here return 0; // Memory Snaps

有人能解释为什么我在下面的代码中出现+1.55KB的内存泄漏,以及我应该如何避免它

void TestGuid() {
    UUID id;
    ZeroMemory(&id, sizeof(UUID));
    UuidCreate(&id);
}

int _tmain(int argc, _TCHAR* argv[]) {
    TestGuid(); // Memory Snapshot 1 here
    return 0; // Memory Snapshot 2 here
}
UuidCreate的第一个调用进行一些分配。第一个快照显示分配的内容,似乎与随机数生成器的初始化有关:

但如果再次调用UuidCreate,则不会进行新的分配。第二个屏幕截图显示未发现泄漏。因此,从形式上讲,存在漏洞,但您无法修复它,这并不是什么大问题——分配的内存很少


为什么决定内存泄漏?根据视觉研究添加了内存快照的图片。这并不能证明什么。windows DLL internal可以在进程中分配额外内存。这是一个非常复杂的过程。但是你的具体代码中没有内存泄漏我必须说这让我有点困惑。这是否意味着我们不能真正信任VStudio内存监视器?或者我应该改变追踪泄露的方式。。。无论如何,谢谢不,windows进程虚拟空间的结构非常复杂。我们不能仅仅基于这两点来谈论内存泄漏。如果说在您的进程的内存使用永久性增长的时间段内,这是关于泄漏的。但你的具体例子说明不了什么。实际上,我很担心,因为我正计划循环UUID生成,所以担心每次都会丢失一些kB。你的测试我应该亲自进行,但我的例子实际上是一个更大的测试的摘录,这让我远离这个想法,证明这没什么大不了的。