On 8/11/2012 11:32 AM, Ian Lance Taylor wrote:
On Sat, Aug 11, 2012 at 3:47 AM, Vincent Lefevre <vincent+gcc@xxxxxxxxxx> wrote:
On 2012-08-10 09:05:13 +0000, Göran Steen wrote:
Any C99 compiler - and almost all pre-C99 compilers - will have
<stdint.h>. I don't know of any compiler less than 15 years old that
doesn't come with a <stdint.h>, and many people using such compilers
have written their own <stdint.h>.
I thought that Microsoft's compiler didn't have <stdint.h>.
I've also heard that <inttypes.h> is more common.
It's true that <inttypes.h> is older than <stdint.h>. But as Göran
said, <stdint.h> is in C99, a standard that was released 13 years ago.
I have to assume that even Microsoft compilers support <stdint.h> by
now.
Ian
I haven't been able to find an authoritative source, but someone said
recently that Microsoft had stated they would some day support those C99
features which are common with C++ (VS2010 doesn't, and VS2012 isn't
widely available, but I don't hold my breath).
Microsoft never committed to bring C99 support to the level of any other
specified compiler, nor did other vendors of Microsoft-compatible
compilers commit to the same level as on linux, for example.
For example, I haven't found a way to engage the __restrict extension of
MSVC to emulate (even to the documented extent) the corresponding
feature of C99.
VS2010 has stdint.h (at least at current service pack level), but not
inttypes.h. VS2008 doesn't, and it's still under full support and in
wide professional use. As previously mentioned, some use open source
replacements, even though that is antithetical to the Microsoft proposition.
--
Tim Prince