open, close, dup, dup2, lseek, read, write, fileno, etc.
Walter Bright
newshound1 at digitalmars.com
Fri Feb 8 18:40:12 PST 2008
Janice Caron wrote:
> open, close, dup, dup2, lseek, read, write, fileno, etc....
>
> Is there any good reason why these functions are available in Phobos
> for the Linux version of D only, but not for the Windows version?
>
> These functions certainly do exists on Windows (albeit with names
> preceeded by a single underscore). In C and C++, you just have to
> #include <io.h>
>
> I looked at the source code for std.streams, just to end my confusion
> about what File does, and it turns out it's full of lots of
> conditional code, with Windows using Windowsy functions like
> CreateFileW() and CreateFileA(). I'm sure there's probably a good
> reason for this - I just don't know what it is. Can anyone explain?
Going directly to the underlying OS functions makes for faster, more
efficient I/O. Calling open, close, etc., on Windows makes for poor
performance, because those functions are layered on top of the Windows
I/O functions.
More information about the Digitalmars-d
mailing list