118 votes

C99 stdint.h en-tête et MS Visual Studio

À ma grande surprise, je viens de découvrir que le stdint.h C99 est absent de MS Visual Studio 2003. Je suis sûr qu'ils ont leurs raisons, mais est-ce que quelqu'un sait où je peux télécharger une copie? Sans cet en-tête, je n'ai pas de définitions pour les types utiles tels que uint32_t, etc.

85voto

Rob Points 22239

Il s'avère que vous pouvez télécharger une version MS de cet en-tête depuis:

http://msinttypes.googlecode.com/svn/trunk/stdint.h

Un portable peut être trouvé ici:

http://www.azillionmonkeys.com/qed/pstdint.h

Merci au blog de Software Rambling .

49voto

Nicholas Mancuso Points 5459

Il suffit de les définir vous-même.

 #ifdef _MSC_VER

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;

#else
#include <stdint.h>
#endif
 

49voto

Ashwin Points 17537

Mise à jour: Visual Studio 2010 et Visual C ++ 2010 Express ont tous deux stdint.h . On peut le trouver en C:\Program Files\Microsoft Visual Studio 10.0\VC\include

25voto

Adam Mitz Points 4540

Visual Studio 2003 - 2008 (Visual C ++ 7.1 - 9) ne prétend pas être compatible C99. (Merci à rdentato pour son commentaire.)

11voto

Nemanja Trifunovic Points 17239

Boost contient le fichier d'en-tête cstdint.hpp avec les types que vous recherchez: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X