gpt4 book ai didi

c++ - lodePNG 内存分配错误

转载 作者:行者123 更新时间:2023-11-28 07:50:59 25 4
gpt4 key购买 nike

我扔了 lodePNG将示例文件连同我制作的 7kb PNG 文件一起放入 Visual C++ 2008 Express 中的空白项目中,但在运行时出现此内存分配错误:

Invalid allocation size: 429967295 bytes.

通过堆栈帧打破错误和回溯后,我认为这是由传递给 std::vector 中的调整大小函数的空参数引起的。这个项目最近更新了(2012 年 4 月),并且有相当详尽的文档记录,所以我可能做错了什么(或者没有正确的编译选项)。有人可以看看我的项目吗?

这是项目文件夹的 ZIP 文件:http://www.mediafire.com/file/791b9z9ld74n3eu/TestLodePNG.zip

最佳答案

您很可能将 png 文件放在了错误的位置。默认情况下,工作目录是项目文件所在的位置,而不是在调试器中运行时解决方案文件所在的位置。当我将文件移动到项目文件目录时,它工作正常。

您可能会考虑在文件打开代码中添加一些错误检查,如下所示:

void load_file(std::vector<unsigned char>& buffer, const std::string& filename)
{
std::ifstream file(filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate);

if(!file)
{
//Do something about the error and don't crash
}
...

关于c++ - lodePNG 内存分配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13789616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com