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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top