Python in sci/tech applications
Robert Kern
robert.kern at gmail.com
Fri Nov 3 10:39:50 EST 2006
Magnus Lycka wrote:
> robert wrote:
>> When one follows ..
>> http://docs.python.org/inst/tweak-flags.html#SECTION000622000000000000000
>> http://www.zope.org/Members/als/tips/win32_mingw_modules
>>
>> ..this seems only to cover the immediate python dll issues. What happens
>> with the C runtime libraries? You'll bind 2 different C-RTLs (DLLs)
>> etc.? And what happens for example with heap objects created with one
>> C-RTL and deleted/free'd with the other?
>
> As far as I understand, there should be only one runtime library
> involved. MinGW relies on the Microsoft runtime. It seems some
> people have had problems using MSVCRT71 with MinGW, but I'm sure
> that e.g. the Enthought people can explain those issues, since they
> bundle MinGW in their Python 2.4 distribution.
No, there are two if you use an unmodified Mingw distribution. Mingw is built
around MSVCRT.dll . For many extensions, this doesn't cause a problem since
things like FILE pointer don't cross C runtime boundaries. One can edit gcc's
spec file to make it use MSVCR71.dll . However, Mingw's headers are still
written for MSVCRT.dll and Microsoft changed some of the internal details that
they rely upon. For many (most?) extensions, this won't matter, either. C++
extensions using iostreams have a problem, IIRC. Unfortunately, neither approach
works for all extensions. It may even be the case that some extensions won't
work under *either* method.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list
mailing list