From: Benjamin R. <Ben...@ep...> - 2003-05-09 14:00:03
|
Hi Paul, "Moore, Paul" <Pau...@at...> writes: > Yes. One example isn that runtime types such as FILE* cannot be > shared between the 2 runtime DLLs. Hence, DLLs using msvcrt, and a > main program using msvcr7, cannot pass FILE* variables between them. If you mean that the Python API uses compiler-defined structures in their interfaces than the Python API has a problem (aka a "bug"). That would mean that you can only use the very version of the C runtime upon which the Python developers have currently decided. That excludes *all* other compilers, including Borland, Cygwin, Watcom, ... OTOH if you mean that your extension can not have an API that uses compiler-defined structures, well that's just normal and not Python-specific. You should not do that, otherwise you get the compiler lock-in that you requested. > > Maybe there's a workaround. > > Possibly (for example, avoiding FILE* in APIs). But I gather this > isn't as easy as it seems at first... You can (and should) usually just use opaque handles that have only meaning for your own API. so long, benny |