Encabezado C99 stdint.h y MS Visual Studio
-
02-07-2019 - |
Pregunta
Para mi sorpresa, acabo de descubrir que falta C99 stdint.h en MS Visual Studio 2003 en adelante.Seguro que tienen sus motivos, pero ¿alguien sabe dónde puedo descargar una copia?Sin este encabezado no tengo definiciones para tipos útiles como uint32_t, etc.
Solución
Resulta que puedes descargar una versión para MS de este encabezado desde:
https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
Puedes encontrar uno portátil aquí:
http://www.azillionmonkeys.com/qed/pstdint.h
Gracias a Divagaciones de softwareblog.
Otros consejos
Simplemente defínelos tú mismo.
#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
Actualizar: estudio visual 2010 y Visual C++ 2010 expreso Ambos tienen stdint.h
.Se puede encontrar en C:\Program Files\Microsoft Visual Studio 10.0\VC\include
Visual Studio 2003 - 2008 (Visual C++ 7.1 - 9) no pretende ser compatible con C99.(Gracias a rdentato por su comentario).
Boost contiene el archivo de encabezado cstdint.hpp con los tipos que busca: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp
Microsoft no admite C99 y no ha anunciado ningún plan para hacerlo.Creo que tienen la intención de seguir los estándares de C++, pero consideran que C está efectivamente obsoleto, excepto como un subconjunto de C++.
Los nuevos proyectos en Visual Studio 2003 y versiones posteriores tienen la opción "Compilar como código C++ (/TP)" configurada de forma predeterminada, por lo que cualquier archivo .c se compilará como C++.
Otra solución portátil:
ELEGANTE:El arnés portátil de código abierto
"POSH es un "arnés" de código abierto simple, portátil, fácil de usar, fácil de integrar, flexible, diseñado para hacer que escribir bibliotecas y aplicaciones multiplataforma sea significativamente menos tedioso de crear y portar".
http://poshlib.hookatooka.com/poshlib/trac.cgi
como se describe y utiliza en el libro:Escribir código portátil:Una introducción al desarrollo del software para múltiples plataformas de Brian Hookhttp://books.google.ca/books?id=4VOKcEAPPO0C
-Jason