Я создаю расширение библиотеки x64 python c из x86.
Я обнаружил, что fread
с открытием указателя файла fopen64
убил процесс python из-за ошибки APPCRASH
of ntdll.dll
. Этого не происходит при сборке x86 и не происходит, если указатель файла открывается с помощью fopen
.
Во-первых, я подумал, что это произошло из-за ошибки Windows, упомянутой здесь. Но это не помогло.
Есть ли какая-нибудь хорошая практика, чтобы избежать этой проблемы? Я подумываю сделать определение, чтобы выбрать функцию открытия файла ведьмы, чтобы она могла работать как на x64, так и на x86, но у меня нет никаких замечательных идей для этого.
Моя среда
- Windows 7 x64
- Python 2.7.10 x64
- Numpy 1.11.0
- MinGW64
fopen64
, а не сfopen
. - person fx-kirin   schedule 14.06.2016fopen
на x86 не может обрабатывать файл размером более 2 ГБ. - person fx-kirin   schedule 14.06.2016fopen64
для работы с большими файлами (поскольку функция не делает ничего, кроме вызоваfopen
), и поскольку в Windows нетO_LARGEFILE
или каких-либо эквивалент, я не понимаю, как и почему любая другая версия будет делать это. Тем не менее, это не моя проблема. :-) FWIW, если вы больше не заинтересованы в выяснении того, что происходит не так, я рекомендую вам удалить вопрос. - person Harry Johnston   schedule 14.06.2016_LARGEFILE64_SOURCE
, возможно, это близко к ответу. И ответ, который я написал здесь, устранил мою проблему. Я мог бы помочь кому-нибудь, у кого такая же проблема. - person fx-kirin   schedule 14.06.2016