In article <bd4a9s$9gm$1@news1.radix.net>, dickey@saltmine.radix.net
says...
[ ... ]
No -- the C (and C++) standards require that including a standard header
only declares names required to be declared, and names that are in the
implementer's namespace (which includes some, but not all, names that
start with underscores).
POSIX more or less requires violating this requirement of the language
standard, because it requires that if you include standard headers with
_POSIX_SOURCE defined to a non-zero value, that the names of various
POSIX functions be declared as well.
The MS compiler doesn't support POSIX out of the box, but includes a
number of more or less POSIX-like functions (as well as quite a few that
bear no relation to POSIX). Those that aren't required by the language
standards have had underscores prepended to the names. This seems to
apply about equally to functions that implement POSIX properly, those
that deviate from it to some degree, and those that have no relationship
with POSIX at all.
MS also has a POSIX development kit that uses the NT (and successors)
POSIX subsystem. These headers include POSIX names, and AFAIK, the
functions act as required by POSIX as well (e.g. with the usual fopen,
file names are case-insensitive, but with the POSIX fopen, they're case
sensitive).
--
Later,
Jerry.
The universe is a figment of its own imagination.