On Fri, Feb 16, 2007 at 04:58:53PM -0800, Dave Gotwisner wrote:
> Yes, C doesn't define it (ANSI should have at the char/short/long/long 
> long level).  Even though there is nothing requiring that short is 16 
> and long is 32, the fact that the type.h files I mentioned in my 
> previous post imply that they really are required to be these sizes, or 
> the header files be broke.

But C *does* define fixed-width types, through stdint.h, ever since C99
(going on 8 years, now!). And all modern platforms which even contemplate
some POSIX/SUSv3 support, provide stdint.h, now, w/ the glaring exception of
Microsoft and the Visual Studio suite.

Actually, I think that SUSv3 mandates uint8_t, uint16_t, uint32_t, similar
to how POSIX/SUS mandates that CHAR_BIT is 8. C99, strictly speaking, only
requires the fixed-width types be defined through stdint.h if they can be
represented as such. C99 also defines least and fast types. In any event, it
kills me that Microsoft won't even add stdint.h. Kills me!

People rail against C99 all the time, but the fact is that some very
important parts are very nearly universally supported, now, at least in
terms of number of distinct enviornments. stdint.h and snprintf() are the
two most widely known.

_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkey.org/mailman/listinfo/libevent-users

Reply via email to