I
Ioannis Vranos
A bit off topic, but does anyone know if Visual C++ 6 supports the
9899:1995, or only the 9899:1990?
9899:1995, or only the 9899:1990?
A bit off topic, but does anyone know if Visual C++ 6 supports the
9899:1995, or only the 9899:1990?
A bit off topic, but does anyone know if Visual C++ 6 supports the
9899:1995, or only the 9899:1990?
What are the differences between the two?
A bit off topic, but does anyone know if Visual C++ 6 supports the
9899:1995, or only the 9899:1990?
Richard Heathfield said:Andy G. said:
As far as I can recall, all that C95 added was <iso646.h> - which,
again as far as I recall, VC6 doesn't provide (but I could be wrong
about that, of course).
Andy said:What are the differences between the two?
Visual Studio swprintf() is not the standard one, no idea
what else is incompatible. Just forget about C95; it is not
C90 plus wide char api, it's C99 minus VLA.
new stuff of C99, like long long, built-in complex types etc.Ioannis said:I think you are wrong. C95 is Amendment 1 of C90. Nothing to do with the
Richard said:As far as I can recall, all that C95 added was <iso646.h> - which, again as
far as I recall, VC6 doesn't provide (but I could be wrong about that, of
course).
Visual Studio swprintf() is not the standard one, no idea
what else is incompatible. Just forget about C95; it is not
C90 plus wide char api, it's C99 minus VLA. I suppose you
don't want C99 for obvious reasons yet you need wide char
api so you think you want C95; if it's really the case
then C90 *plus* visual studio CRT is quite enough, you
won't use wide char api on unix anyway.
C95 is *much* closer to C90 than it is to C99. In other words, the
C99 standard added much more to the language than the C95 amendment
did.
C95 really is just C90 plus the wide character API, plus a couple of
other very minor changes.
santosh said:Keith Thompson wrote:
In fact C95 is so close to C90 that, AFAICS, gcc does not support
conformance to C90, only to C95.
C95 is *much* closer to C90 than it is to C99. In other words, the
C99 standard added much more to the language than the C95 amendment
did.
C95 really is just C90 plus the wide character API, plus a couple of
other very minor changes.
Yep. But if you look at conformance of popular compilers
(== "visual studio") then C95 is C99 minus VLA, that is,
not supported.
I guess "VLA" doesn't quite mean all language changes
from C99, but it doesn't really matter![]()
Visual C++ 2008 supports C95 100%.
Does someone know if the next C++ standard
is going to have C99-compatible variadic macros and
VLA? [ ... ]
If it is, then perhaps MS will support C99 too,
some day.
You are right, according to MSDN Visual Studio 2005
and newer conform to C95, and you need to define
_CRT_NON_CONFORMING_SWPRINTFS to get the old non-C99
swprintf. Does someone know if the next C++ standard
is going to have C99-compatible variadic macros and
VLA? If it is, then perhaps MS will support C99 too,
some day.
Yep. But if you look at conformance of popular compilers
(== "visual studio") then C95 is C99 minus VLA, that is,
not supported.
I guess "VLA" doesn't quite mean all language changes
from C99, but it doesn't really matter![]()
Yep. But if you look at conformance of popular compilers
(== "visual studio") then C95 is C99 minus VLA, that is,
not supported.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.