More on POpen for Windows
Graham Klyne
gk at ninebynine.org
Tue Feb 24 18:48:23 EST 2004
Further to problems reported in [1].
I've made a small step forward on this. I'm nearly out of time for now, so
this is a partial report.
I've created a pair of simple C programs:
+ EchoShiftLetters.c
Reads from standard input and writes to standard output, converting all
letters to upper case
+ SpawnEchoShiftLetters.c
Uses spawnProc (the function at the heart of POpen) to run
EchoShiftLetters, write some data to its standard output and read back from
the standard output and standard error streams. It displays the data read
back. This program works fine.
What this demonstrates is that the basic Win32 API calls are working as
expected, and that the problems encountered previously are probably to do
with the Haskell-to-C interface, or the Hugs library routines that create
I/O streams from file descriptors. My next step, when I get more time, is
to try a simple Haskell program spawning the EchoShiftLetters program --
I'm expecting that to fail.
There's one other datum: I attempted to build these test programs using
the MinGW gcc tools, but got an undefined symbol error (I think it was
WinMain) when building the SpawnEchoShiftLetters program. So I reverted to
using the old MS Developer Studio tools. I think it was probably just a
library missing from the build, but can't be sure of that.
The code for all this can be found at [2].
#g
--
[1] http://www.haskell.org//pipermail/libraries/2004-February/001700.html
[2] http://www.ninebynine.org/Software/HaskellUtils/Win32/
------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact
More information about the Libraries
mailing list