[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