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

Reply via email to