visual C++ 6

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Ioannis Vranos

    #1

    visual C++ 6

    A bit off topic, but does anyone know if Visual C++ 6 supports the
    9899:1995, or only the 9899:1990?
  • Andy G.

    #2
    Re: visual C++ 6

    On Tue, 11 Mar 2008 02:19:00 +0200, Ioannis Vranos wrote:
    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?

    --
    jay

    Comment

    • Andy G.

      #3
      Re: visual C++ 6

      On Tue, 11 Mar 2008 02:19:00 +0200, Ioannis Vranos wrote:
      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?

      Comment

      • Richard Heathfield

        #4
        Re: visual C++ 6

        Andy G. said:
        On Tue, 11 Mar 2008 02:19:00 +0200, Ioannis Vranos wrote:
        >
        >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?
        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).

        --
        Richard Heathfield <http://www.cpax.org.uk >
        Email: -http://www. +rjh@
        Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
        "Usenet is a strange place" - dmr 29 July 1999

        Comment

        • muntyan@gmail.com

          #5
          Re: visual C++ 6

          On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
          wrote:
          A bit off topic, but does anyone know if Visual C++ 6 supports the
          9899:1995, or only the 9899:1990?
          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.

          Regards,
          Yevgen

          Comment

          • Keith Thompson

            #6
            Re: visual C++ 6

            Richard Heathfield <rjh@see.sig.in validwrites:
            Andy G. said:
            >On Tue, 11 Mar 2008 02:19:00 +0200, Ioannis Vranos wrote:
            >>
            >>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?
            >
            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).
            The 1995 amendment (ANSI/ISO/IEC 9899-1990/AM 1-1995) makes the
            following changes to C90:

            Adds digraphs
            <: :<& &%: %:%:
            as synonyms for
            [ ] { } # ##

            Updates __STD_VERSION__ to 199409L

            Adds <iso646.h>, required for both freestanding and hosted
            implementations

            Adds <wctype.hand <wchar.h>, required only for hosted
            implementations

            Adds EILSEQ to <errno.h>

            Makes some adjustments to the description of <stdio.hto allow
            for wide characters.

            --
            Keith Thompson (The_Other_Keit h) <kst-u@mib.org>
            Nokia
            "We must do something. This is something. Therefore, we must do this."
            -- Antony Jay and Jonathan Lynn, "Yes Minister"

            Comment

            • Ioannis Vranos

              #7
              Re: visual C++ 6

              Andy G. wrote:
              On Tue, 11 Mar 2008 02:19:00 +0200, Ioannis Vranos wrote:
              >
              >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?
              In summary, bug fixes to C90 + 3 new standard header files: <wchar.h>,
              <wctype.hand <iso646.h>.

              Comment

              • Ioannis Vranos

                #8
                Re: visual C++ 6

                muntyan@gmail.c om wrote:
                On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                wrote:
                >A bit off topic, but does anyone know if Visual C++ 6 supports the
                >9899:1995, or only the 9899:1990?
                >
                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 think you are wrong. C95 is Amendment 1 of C90. Nothing to do with the
                new stuff of C999, like long long, builtmin complex types etc.

                The wide-character version of printf() in C95 is wprintf() declared in
                wchar.h, and the rest of the new wide-character support is <wctype.h>
                that provides the wide-character equivalents of the <ctype.hfacilit ies.

                Comment

                • Ioannis Vranos

                  #9
                  Re: visual C++ 6

                  Corrected some typos:

                  Ioannis Vranos wrote:
                  muntyan@gmail.c om wrote:
                  >On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                  >wrote:
                  >>A bit off topic, but does anyone know if Visual C++ 6 supports the
                  >>9899:1995, or only the 9899:1990?
                  >>
                  >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 think you are wrong. C95 is Amendment 1 of C90. Nothing to do with the
                  new stuff of C99, like long long, built-in complex types etc.
                  >
                  The wide-character version of printf() in C95 is wprintf() declared in
                  wchar.h, and the rest of the new wide-character support is <wctype.h>
                  that provides the wide-character equivalents of the <ctype.hfacilit ies.

                  Comment

                  • Ioannis Vranos

                    #10
                    Re: visual C++ 6

                    Richard Heathfield wrote:
                    >
                    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).

                    Actually VC++ 6 doesn't complain when I #include all of <wchar.h>,
                    <wctype.hand <iso646.h>. I am not sure it supports C95 completely though.

                    Comment

                    • Keith Thompson

                      #11
                      Re: visual C++ 6

                      muntyan@gmail.c om writes:
                      On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                      wrote:
                      >A bit off topic, but does anyone know if Visual C++ 6 supports the
                      >9899:1995, or only the 9899:1990?
                      >
                      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.

                      --
                      Keith Thompson (The_Other_Keit h) <kst-u@mib.org>
                      Nokia
                      "We must do something. This is something. Therefore, we must do this."
                      -- Antony Jay and Jonathan Lynn, "Yes Minister"

                      Comment

                      • santosh

                        #12
                        Re: visual C++ 6

                        Keith Thompson wrote:

                        <snip>
                        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.
                        In fact C95 is so close to C90 that, AFAICS, gcc does not support
                        conformance to C90, only to C95.

                        Comment

                        • muntyan@gmail.com

                          #13
                          Re: visual C++ 6

                          On Mar 11, 11:02 am, Keith Thompson <ks...@mib.orgw rote:
                          munt...@gmail.c om writes:
                          On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                          wrote:
                          A bit off topic, but does anyone know if Visual C++ 6 supports the
                          9899:1995, or only the 9899:1990?
                          >
                          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.
                          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 ;)

                          Yevgen

                          Comment

                          • Ioannis Vranos

                            #14
                            Re: visual C++ 6

                            muntyan@gmail.c om wrote:
                            On Mar 11, 11:02 am, Keith Thompson <ks...@mib.orgw rote:
                            >munt...@gmail. com writes:
                            >>On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                            >>wrote:
                            >>>A bit off topic, but does anyone know if Visual C++ 6 supports the
                            >>>9899:1995, or only the 9899:1990?
                            >>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.
                            >
                            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%.

                            Comment

                            • muntyan@gmail.com

                              #15
                              Re: visual C++ 6

                              On Mar 11, 2:34 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                              wrote:
                              munt...@gmail.c om wrote:
                              On Mar 11, 11:02 am, Keith Thompson <ks...@mib.orgw rote:
                              munt...@gmail.c om writes:
                              >On Mar 10, 7:19 pm, Ioannis Vranos <ivra...@nospam .no.spamfreemai l.gr>
                              >wrote:
                              >>A bit off topic, but does anyone know if Visual C++ 6 supports the
                              >>9899:1995, or only the 9899:1990?
                              >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.
                              >
                              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%.
                              You are right, according to MSDN Visual Studio 2005
                              and newer conform to C95, and you need to define
                              _CRT_NON_CONFOR MING_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.

                              Yevgen

                              Comment

                              Working...