Para mi sorpresa, descubrí que el C99 stdint.h no se encuentra en MS Visual Studio 2003 en adelante. Estoy seguro de que tienen sus razones, pero ¿alguien sabe dónde puedo descargar una copia? Sin esta cabecera que no tienen una definición para este tipo de útiles, tales como uint32_t, etc.C99 stdint.h encabezado y MS Visual Studio
Respuesta
Resulta que se puede descargar una versión de MS de esta cabecera de:
https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
un portátil se puede encontrar aquí:
http://www.azillionmonkeys.com/qed/pstdint.h
Gracias al blog del Software Rambling s.
Un dominio público (no una licencia MIT/BSD, ni siquiera necesita mantener una atribución de derechos de autor) stdint.h para MSVC (una versión ligeramente modificada de MinGW): http: // snipplr.com/view/18199/stdinth/ –
El primer enlace 404s –
Modificó la respuesta original pero: https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h el enlace svn está muerto – smaudet
Visual Studio 2003 - 2008 (Visual C++ 7.1 - 9) no pretenden ser compatibles con C99. (Gracias a rdentato por su comentario.)
Simplemente defínalas 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
Me falta algo o no debería ser typedef unsigned __int64 uint64_t; ? –
@Roman A. Taycher: Editado para cambiar '__int32' a' __int64'. –
Parece que le faltan algunas ... –
Boost contiene el archivo de cabecera cstdint.hpp con los tipos que usted está buscando: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp
boost es C++, la pregunta está en C99 –
No está claro: pregunta sobre un encabezado C99 en Visual Studio, sin especificar qué idioma está usando. En cualquier caso, no puede ser C99 porque Microsoft no lo admite. –
OP quiere una copia de '
Microsoft no son compatibles con C99 y no han anunciado ningún plan a. Creo que pretenden rastrear los estándares de C++, pero consideran que C es efectivamente obsoleto, excepto como un subconjunto de C++.
Los proyectos nuevos en Visual Studio 2003 y posterior tienen la opción "Compilar como código C++ (/ TP)" establecida de forma predeterminada, por lo que cualquier archivo .c se compilará como C++.
Otra solución portátil:
POSH: La portátil de código abierto arnés
"POSH es un simple, portátil, fácil de usar, fácil de integrar, flexible, de código abierto 'arnés' diseñado para hacer que la escritura de bibliotecas y aplicaciones multiplataforma sea mucho menos tediosa de crear y realizar en puerto ".
http://poshlib.hookatooka.com/poshlib/trac.cgi
como se describe y se utiliza en el libro: escribir código portátil: una introducción al desarrollo de software para múltiples plataformas Por Brian Hook http://books.google.ca/books?id=4VOKcEAPPO0C
-Jason
Actualización: Visual Studio 2010 y Visual C++ 2010 Express ambos tienen stdint.h
. Se puede encontrar en C:\Program Files\Microsoft Visual Studio 10.0\VC\include
así como
- 1. Archivos de encabezado de MS Visual Studio Project
- 2. ¿Microsoft Visual Studio 2010 es compatible con c99?
- 3. stdfloat.h versión de stdint.h
- 4. ¿Es posible escribir un juego XBOX comercial usando Visual Studio y MS XNA Game Studio SDK?
- 5. ¿Funcionará MS Visual Studio 2012 con Windows Vista?
- 6. MS Visual Studio 2010 Cómo utilizar el asm archivo generado
- 7. cmake y visual studio
- 8. GitHub y Visual Studio
- 9. ¿Cómo incluir archivos de encabezado en Visual Studio 2008?
- 10. Visual Studio no puede incluir el archivo de encabezado.
- 11. ¿Dónde busca Visual Studio los archivos de encabezado C++?
- 12. WebsiteSpark y Visual Studio 2010
- 13. QT y Visual Studio 2010
- 14. snprintf y Visual Studio 2010
- 15. ReSharper y Visual Studio 2008
- 16. Team City y Visual Studio 2010 y Coverage Tool
- 17. ¿Cuál es la diferencia entre "Crear encabezado precompilado" (/ Yc) y "Usar encabezado precompilado" (/ Yu) en Visual Studio?
- 18. Visual Studio - "{}" configuración
- 19. unistd.h y C99 en Linux
- 20. ¿Dónde está <inttypes.h> en Visual Studio 2005?
- 21. ¿Los tipos enteros con signo C99 definidos en stdint.h presentan un comportamiento bien definido en caso de desbordamiento?
- 22. IntelliSense Visual Studio para los encabezados y sin .h
- 23. Visual Studio 11 y manejo msvcr110.dll
- 24. CMake, Microsoft Visual Studio y Monolithic Runtimes
- 25. Visual Studio, Buscar y reemplazar, expresiones regulares
- 26. Rendimiento y complementos de Visual Studio
- 27. Studio 2008 y Visual pruebas unitarias nunit
- 28. Visual Studio 2010 y boost :: bind
- 29. Refactorización fácil y rápida en visual studio
- 30. Visual Studio 2010 y Windows 2000
Como una actualización de esto: MSVC 2010 ahora incluye 'stdint.h' –
así como. –
Pasando por este blog: http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx, * VS 2015 Preview es totalmente compatible con la biblioteca estándar C99 (con las únicas omisiones es tgmath.h, que requiere magia del compilador C y no es relevante para C++ que tiene sobrecarga, y CX_LIMITED_RANGE/FP_CONTRACT que también requieren compatibilidad con el compilador). * –