fputs in tp_print crashes under Win32
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Sat Nov 15 00:52:20 EST 2008
En Wed, 12 Nov 2008 08:58:05 -0200, Petr Gotthard
<petr.gotthard at centrum.cz> escribió:
> Hello,
> my C++ extension crashes under Win32 when the tp_print is called.
>
> It crashes with both Python 2.5.2 and 2.6. The crash occurs in
> system32\ntdll.dll, with exception code 0xc0000005.
>
> I found out that this works fine:
>
> int ulonghandle_print(RtiULongHandleObject *v, FILE *fp, int flags)
> {
> fputc('c', stdout);
> return 0;
> }
>
> But this causes the error:
>
> int ulonghandle_print(RtiULongHandleObject *v, FILE *fp, int flags)
> {
> fputc('c', fp); // <-- "fp" instead of "stdout"
> return 0;
> }
>
> It occurs under Windows (XP SP2) only. Under Linux everything works
> fine.
Short answer: compile your extension with the *same* compiler used to
compile Python itself: Visual Studio 2008 for 2.6, Visual Studio .NET 2003
for 2.5
For the long answer search http://wiki.python.org/moin/
--
Gabriel Genellina
More information about the Python-list
mailing list