[EMAIL PROTECTED] schrieb:
> > Author: afa
> > Date: Tue May 20 16:17:22 2008
> > New Revision: 55005
> >
> > Modified:
> > pypy/branch/win32port/pypy/lib/_ctypes/builtin.py
> > pypy/branch/win32port/pypy/lib/msvcrt.py
> > pypy/branch/win32port/pypy/module/_rawffi/__init__.py
> > pypy/branch/win32port/pypy/module/_rawffi/interp_rawffi.py
> > pypy/branch/win32port/pypy/module/_rawffi/test/test__rawffi.py
> > pypy/branch/win32port/pypy/rlib/libffi.py
> > pypy/branch/win32port/pypy/rlib/rwin32.py
> > pypy/branch/win32port/pypy/rlib/test/test_libffi.py
> > Log:
> > Maciej was right: it's better to dynamically get the name of the msvcrt
> > library:
> > the same generated sources may be recompiled, e.g. in debug mode.
> >
> > I hope I got it right: in pypy-c.exe, we compile a function that
> > retrieves the dll containing the "fopen" pointer address.
> > + #include <stdio.h>
> > +
> > + /* Get the module where the "fopen" function resides in */
> > + HANDLE get_libc_handle() {
> > + MEMORY_BASIC_INFORMATION mi;
> > + memset(&mi, 0, sizeof(mi));
> > +
> > + if( !VirtualQueryEx(GetCurrentProcess(), &fopen, &mi,
> > sizeof(mi)) )
> > + return 0;
> > +
> > + return (HMODULE)mi.AllocationBase;
> > + }
> > + '''],
Ha, that's the best approach I have seen so far to get the name if the
msvcrt runtime library. Hope you don't mind if I steal it for 'official'
ctypes (I will check if it works in win64 also before) ?
-- Thanks, Thomas
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev