1

我的代码中显然存在问题,但我太新手了,无法意识到它可能是什么。

我设计了一个简单的程序来计算文件的各种加密哈希。它似乎在较小的文件上工作得很好(我什至使用多个线程)......但是当我尝试在一个大的 ISO 文件(近 4GB)上测试它时,我的计算机非常可靠地崩溃并出现 KERNEL_DATA_INPAGE_ERROR。

我在做一些效率很低的事情吗?在我看来,太多的内存被用完了,尽管我曾试图限制一次内存的使用......我想知道这是我的代码,还是我的电脑出了问题...... .

fwiw 我有一个运行 4 个线程的 i5 处理器和使用 Windows 7 x64 的 4GB 内存。

这是我的代码: http: //pastebin.com/KA3KrStf

4

2 回答 2

1

几乎可以肯定问题不在您的程序中。用户模式代码不会产生内核错误。问题出在您的硬件或驱动程序中。您应该将搜索指向那个方向,而不是调查您的代码。

于 2012-04-27T20:53:03.453 回答
0

这个代码是 ring3,所以它不应该蓝屏你的机器。我只能想象您的 RAM 或 HDD 损坏,当您尝试分配大量内存时会触发 BSOD。

于 2012-04-27T20:53:45.743 回答