Timothy Madden
2010-08-29 10:36:37 UTC
Hello
I see Visual C++ declares simple POSIX functions like mkdir(), fileno()
as deprecated (since VS 2005), they say, in favor of the ISO C++
conformant _mkdir(), _fileno() !
How can that be ?
First, symbol names starting with an underscore are reserved for use by
the C/C++ implementation, so users should use the standard ones, without
the underscores !
Then, POSIX is a full standard for portable operating systems
interfaces, and the simple file functions there have been reliable since
ever (and the other functions, too). What do they have against it ? What
do they see as wrong with POSIX ?
And also, there are no such things as the ISO C++ conformant names
_mkdir, _fileno, etc. Actually, ISO C++ reserves all names starting with
an underscore, as said, and also does not mention these POSIX functions
at all ! (I have read the latest draft for C++ 0x).
Can anyone tell me what is the Microsoft idea behind this no-POSIX
trend, motivated with the wrong pretense that C++ asks for it ?
Thank you,
Timothy Madden
I see Visual C++ declares simple POSIX functions like mkdir(), fileno()
as deprecated (since VS 2005), they say, in favor of the ISO C++
conformant _mkdir(), _fileno() !
How can that be ?
First, symbol names starting with an underscore are reserved for use by
the C/C++ implementation, so users should use the standard ones, without
the underscores !
Then, POSIX is a full standard for portable operating systems
interfaces, and the simple file functions there have been reliable since
ever (and the other functions, too). What do they have against it ? What
do they see as wrong with POSIX ?
And also, there are no such things as the ISO C++ conformant names
_mkdir, _fileno, etc. Actually, ISO C++ reserves all names starting with
an underscore, as said, and also does not mention these POSIX functions
at all ! (I have read the latest draft for C++ 0x).
Can anyone tell me what is the Microsoft idea behind this no-POSIX
trend, motivated with the wrong pretense that C++ asks for it ?
Thank you,
Timothy Madden