Я строю свое расширение библиотеки x64 python c от x86.fread with fopen64 под MinGW64 убивает процесс
я узнал fread
с указателем файла Открывший вступительным словом fopen64
убил процесс питона из-за ошибки APPCRASH
из ntdll.dll
. Это не происходит при сборке x86 и не происходит, если указатель файла открывается fopen
.
Во-первых, я думал, что это произошло из-за ошибки Windows, упомянутой here. Но это не исправить.
Есть ли хорошая практика, чтобы избежать этой проблемы? Я рассматриваю make definition, чтобы выбрать функцию открытия файла witch, чтобы она работала как с x64, так и с x86, но у меня нет никаких замечательных идей для этого.
Моя среда
- Windows 7 x64
- Python 2.7.10 x64
- Numpy 1.11.0
- MinGW64
Похоже [fopen64 это просто оболочка для FOPEN все равно] (https://github.com/Alexpux/mingw-w64/blob/master/mingw-w64-crt/stdio/fopen64.c). Поэтому вы, вероятно, должны просто использовать fopen. –
Да, я уже проверяю файл include. Но ошибка произошла с 'fopen64', но не с' fopen'. –
Фактическая проблема, вероятно, в другом месте, повреждение памяти или подобное. Но я хочу сказать, что, насколько я могу судить, использование fopen64 не дает ровно ничего, поэтому почему бы просто не использовать fopen? –