Ошибка libpng под VC6.0 - PullRequest
       28

Ошибка libpng под VC6.0

0 голосов
/ 10 августа 2011

Я использую libpng в своем проекте OpenGL для загрузки текстуры файла png с VC6.0 под Windows XP. Все в порядке, и во время работы возникает ошибка. Ошибка

the instruction at 0x0040b4a3 referenced memory at 0x00000008 the memory could not be written

Я пытался перезагрузиться, но ошибка остается. И я поместил исполняемый файл на другой рабочий стол XP, и ошибка остается.

При отладке я обнаружил, что это утверждение пошло не так: (которое обычно используется с libpng)

png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_STRIP_16 | PNG_TRANSFORM_PACKING | PNG_TRANSFORM_EXPAND, png_voidp_NULL);

Сообщение об ошибке

Unhandled exception in test.exe(NTDLL.DLL): 0xc0000005: Access Violation.

Мой код работает отлично с g ++ под fedora , но что-то не так под VC6.0 с windows XP.


Исходный код очень большой, и я не знаю, что идет не так, поэтому я не знаю, какой код вставить сюда.
Кто-нибудь имеет представление об этом?
Я буду очень признателен, если вы поможете мне в этом. Спасибо! :)

1 Ответ

1 голос
/ 10 августа 2011

Вы проверяли указатели, переданные в функцию? Один из них может иметь значение 8 вместо некоторого действительного адреса памяти. Если с данными, переданными в libpng, все в порядке, ошибка может быть где-то еще.

Незначительное примечание: есть ли причина использовать VC ++ 6.0 в более новых (и бесплатных) Express Edition?

...