On Wed, 21 May 2008 20:57:33 +0200, "\"Martin v. Löwis\"" <martin at v.loewis.de> wrote: >> As said before, PyOpenGL is an example of an extension that moved from C >> code to Python/ctypes, luckily we don't use it, but what if the >> maintainers of MySQL-Python or cx_Oracle decide to move to ctypes. >> Having the ctypes extension in the stdlib doesn't imply it runs on any >> platform where python runs. Extension writers should keep this in mind >> when they decide to use ctypes. They should document, that their >> extension depends on ctypes and therefore doesn't run on platforms where >> ctypes doesn't work. > >Plus, even if ctypes works, the code might be incorrect, because they >had been assuming structure layouts and symbolic constants that have >just a different definition on some other platform, causing the >extension module to crash. > >Writing portable ctypes modules is really hard - significantly harder >than writing portable C code (although writing non-portable ctypes >code is apparently easier than writing non-portable C code). True. There's some room for improvement in ctypes here, fortunately. For example, PyPy has some tools which resolve the particular problem you're talking about; the library is even available separately and can (and probably should) be used by anyone writing a ctypes module. Sample usage and installation instructions available here: http://codespeak.net/~fijal/configure.html Jean-Paul
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4