OSProcess, which I am learning to like more as I learn more about it, is not well supported on Windows. Dave recently advised me to use ProcessWrapper on Windows; if he is saying that, then it must be the better path for now.
I have done FFI on both Windows and Linux. I have not (yet anyway) done any one task in a cross-platform way. So far, I have not seen anything horrible that would prevent it. I have zero interest (at least so far) in moving my numerical analysis adventures back toward Windows (they started there and moved to Linux where I am quite happy). I have a .so interface to Acces IO A/D hardware and a DLL interface to Ascension Technology's 3D tracking software. Ultimately, I hope to be able to use both of them on either platform (the software exists on both), but have not yet made the connections. I transparently use OutputDebugString() on Linux and syslog() on Linux, but that does a test on platform and calls completely different code, so it does not count here. Sorry I can't be of more help. I urge you to wade into it and ask for help as you get stuck. For creating libraries, you might want to have a look at Code::Blocks; I don't push it very hard, but I have no complaints. The "default" is to install MinGW on Windows (last time I looked at least) and it uses gcc on Linux. Bill ________________________________________ From: [email protected] [[email protected]] On Behalf Of Lukas Renggli [[email protected]] Sent: Sunday, December 12, 2010 11:43 AM To: [email protected] Subject: Re: [Pharo-project] Is executing a file platform dependent? With OS Process you can run scripts. That should work identical on Mac and Unix systems; probably also Windows, but I haven't tried. With FFI and Alien you can call C libraries. I have not much experience with those, but normally it should be possible to use them on all platforms. Lukas On 12 December 2010 17:31, Max Leske <[email protected]> wrote: > Hi guys > > I was wondering if it is true that executing a file from within Pharo is > platform dependent. I don't actually need to execute a file; it's more a > theoretical question and I have no idea what the mechanisms are that would be > used. To give you a clearer picture: Imagine you have C, sh, and perl files. > What I'm thinking about is that I would have some data in the image that I > would want to process with the code in one of those files. I would then wait > for the result and process the result in the image. > > So my questions are: is there a platform independent way to execute C, sh or > perl files from Pharo? Does the VM handle the platform dependencies? Are > there any other issues with the idea I described? > > Don't go out of your way to find answers, please. But I'd be happy to hear > your thoughts. > > Cheers, > Max > -- Lukas Renggli www.lukas-renggli.ch
