c++ - uint32_t - uint64_t stdint




Cabeçalho C99 stdint.h e MS Visual Studio (5)

Para minha surpresa, acabei de descobrir que o C99 stdint.h está ausente do MS Visual Studio 2003 para cima. Tenho certeza de que eles têm suas razões, mas alguém sabe onde eu posso baixar uma cópia? Sem esse cabeçalho, não tenho definições para tipos úteis, como uint32_t, etc.



Apenas os defina você mesmo.

#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

Microsoft não suporta C99 e não anunciou nenhum plano para. Eu acredito que eles pretendem rastrear os padrões C ++, mas consideram o C efetivamente obsoleto, exceto como um subconjunto do C ++.

Novos projetos no Visual Studio 2003 e posterior têm a opção "Compilar como código C ++ (/ TP)" definida por padrão, portanto, quaisquer arquivos .c serão compilados como C ++.



Outra solução portátil:

POSH: O chicote de fios de código aberto portátil

"O POSH é um equipamento simples, portátil, fácil de usar, fácil de integrar, flexível e de código aberto, projetado para tornar a gravação de bibliotecas e aplicativos multiplataformas significativamente menos tediosa para criar e portar."

http://poshlib.hookatooka.com/poshlib/trac.cgi

como descrito e usado no livro: Escrever código portátil: uma introdução ao desenvolvimento de software para múltiplas plataformas Por Brian Hook http://books.google.ca/books?id=4VOKcEAPPO0C

-Jason





c99