[PythonCE] graphical libs for pocket pc

Thomas Heller theller at python.net
Wed Sep 8 19:00:13 CEST 2004


Voidspace <mike at pcblokes.com> writes:

> Thomas Heller wrote:
>
>>Voidspace <mike at pcblokes.com> writes:
>>[snip..]
>>
>>Another alternative would be to port ctypes (then you can call windows
>>api functions directly from Python) to the pocket PC - I cannot do it
>>myself, but I would be willing to support anyone who tries this.
>>
>>Thomas

> That sounds like it would be *really* useful. I'd even love to do it !!
> However - I've never compiled for the PocketPC - but I can download
> the SDK if someone can point me to the files and the compile chain...
>
> I also have no direct experience of directly calling the windoze API -
> but I *need* to learn. My only experience of calling an OS API was the
> Amiga which was a joy to program for... that was a while ago
> though. Similarly I am just migrating from Python to Pyrex/C - so have
> very little experience of any of the steps necessary (although a
> familiarity with some of the concepts and C structures I
> guess). Learning to use ctypes was 'on my list of things to do' anyway.
>
> Do you think a project like this likely to be well over my head ?
> (Obviously an impossible question - but if you think it's middle of
> the range difficulty htne I can tackle it a step at a time... if it's
> a fairly high level of difficulty then it's probably outside the
> bounds of possibility).

Well, it seems far from trivial.  It requires 'porting' libffi to that
platform.  From what I read in the libffi readme, the ARM CPU is
supported, on Linux.

When I changed the Windows code to use libffi instead of my homegrown
solution, I started up a i386 Linux, ran libffi's configure command, and
took the resulting source tree to windows.  Then I had to convert the
code from gcc assembler syntax to MSVC assembler, and had to adjust
other code.  Without a source code debugger it would be impossible.

So, I assume something similar has to be done for the ARM, and very good
knowledge of the CPU is required.  OTOH, I haven't looked around if
someone has already done this, or some of the work.

Thomas



More information about the PythonCE mailing list