cURL / Mailing Lists / curl-library / Single Mail


Re: FILE * => fd ?

From: Andrew Francis <>
Date: Thu, 9 Aug 2001 22:04:06 +0800 (WST)

On Thu, 9 Aug 2001, Sterling Hughes wrote:
> I'm not sure how Win32 handles Stdio implementation as opposed to
> the POSIX layer (or if Stdio is a part of the POSIX layer). As you
> know, Win32's POSIX layer is a POS, so if it causes that switch
> (non-POSIX to POSIX), we should see a small performance hit on Win32
> systems.

I believe that in Windows NT, Win32 and POSIX are both independant
subsystems running on top of the "native" NT system. There's also an OS/2
1.x subsystem in there somewhere :)

Win32 has it's own native file routines - CreateFile, WriteFile, etc.. the
stdio functions are just implemented by the standard C library you happen
to link against.

Win16 used to provide <io.h> style I/O routines (open, close etc..)
and these functions are still available to me in Visual C++ - I'm not sure
whether they're implemented by the C library or in the actual Win32
system, though. In either case, I suspect they would also be a thin
wrapper around the CreateFile-style functions.

I don't think there's much to worry about, performance-wise. (*cringe* I'm
just begging for some benchmarks to prove me wrong :)

Andrew Francis
Curl-library mailing list
Received on 2001-08-09