【发布时间】:2010-09-28 08:39:45
【问题描述】:
我最近尝试更新 my game 以以压缩格式(JPEG 和 PNG)存储图形。
虽然我最终选择了一个不同的库,但我最初的尝试是合并 ijg 来进行 JPEG 解压缩。但是,我什至无法让最简单的控制台应用程序工作,我想知道是否有人能够解释原因。
这是我的代码,它链接到 jpeg.lib,它是 ijg 包的一部分:
#include "stdafx.h"
#include <stdio.h>
#include <assert.h>
#include <jpeglib.h>
int _tmain(int argc, _TCHAR* argv[])
{
struct jpeg_decompress_struct cinfo;
struct jpeg_error_mgr jerr;
JSAMPARRAY buffer;
int row_stride;
//initialize error handling
cinfo.err = jpeg_std_error(&jerr);
//initialize the decompression
jpeg_create_decompress(&cinfo);
FILE* infile;
errno_t err = fopen_s(&infile, "..\\Sample.jpg", "rb");
assert(err == 0);
//specify the input
jpeg_stdio_src(&cinfo, infile);
//read headers
(void) jpeg_read_header(&cinfo, TRUE);
return 0;
}
问题是对jpeg_read_header() 的调用因访问冲突而失败:
0x7c91b1fa 处未处理的异常 JPEGTest.exe 中的 (ntdll.dll): 0xC0000005:访问冲突写入 位置 0x00000010。
有没有人知道我可能做错了什么?
【问题讨论】:
-
1 个问题——为什么你初始化错误处理两次?
-
我的错 - 将更新我的帖子。