Hi all, currently I'm working on a project which is supposed to run without any changes to the code base on Windows and on various Unix derivatives (such as Linux); recompiling the same source code has to suffice in order to make the code work on all platforms. In order to achieve this independency of the platform, I'm defining many runtime routines for myself which I'll use throughout the project.
Many POSIX functions like sprintf() will work both under Unix and under Windows without changes. However, when for example I want to scan a directory for the files contained hereinwith, things become difficult because the POSIX functions opendir(), readdir(), and closedir() simply don't exist under Windows. Even worse, some things work almost in the same way but not completely (such as the sockets libraries). Another common example (even more subtle than the differences in the sockets library) is the fact that open() under Windows usually opens in text mode even when giving access mode O_RDONLY whereas open() under Unix opens in binary mode. Microsoft's developer network MSDN gives a couple of hints what Windows functions can be used to substitute various POSIX functions, but I don't have the time or the detailed Windows knowledge to identify all those differing functions, APIs, and the like all at once on my own. Now my question is: is there one single web site which will tell me all those differences at the back end layer? I am NOT interested in the GUI differences; these are so fundamental that just thinking of unifying them under one hood causes me nightmares; the code is used for background processing, text streams like stdin and stdout stderr are fine. The GUI will be done in Java anyway, but Java is not an option for all the background processing due to performance reasons. Installing CygWin, Perl, PHP, and other such nifties is not an option for various reasons. I want and have to accomodate for all those differences at the API level. C is my favourite language, C++ is an option (when used as a "better C", e.g. due to providing function overloading and stricter type checking, not due to having templates). I have cross-posted this on CodeTalkers and c-prog because I'm interested to see the differences in ideas based on the background of these two groups. Thanks and regards, Nico
