3 ms·
stdint.h is C99 and while I'd love to believe that every C compiler is C99 capable by now, I don't know if that is actually the case. Does stdint.h exist on Win
by edwintorok 12y ago
stdint.h is C99 and while I'd love to believe that every C compiler is C99 capable by now, I don't know if that is actually the case.
Does stdint.h exist on Win32 these days?
- Nursie 12y agoMicrosoft's poor support for standard C is no excuse not to use these types everywhere else and either define them yourself on windows or get stdint from boost, from one of the stdint.h replacements or <cstdint> from MSVC 2012. IMHO, of course.
- friendlypedant 12y agoI hate Microsoft as much as the next guy, but FYI, MSVC 2013 supports most of C99.
- Nursie 12y agoThat's good to hear, and maybe we can finally move on to more universal use of a 14 year old standard!
- krbbltr 12y agoMaybe by Microsoft's definition of 'most'. * no variable-length arrays * no qualifiers in parameter array declarators (`int x[static 10]`, etc.) * no `restrict` keyword * no compound literals * no designated initializers There's probably more. On the web you'll find the same quote copy & pasted over and over saying that support for compound literals and designated initializers was supposedly added in VS2013, but it does not appear to be true. Either that, or I haven't found the hidden switch to enable it. By the way, C code still needs to be compiled as C++ to get anything beyond C89 to work, which should give you a clue as to how serious Microsoft is about C99. What's true though is that stdbool.h was added. It's a start, I guess...