Cabeçalho C99 stdint.h e MS Visual Studio

Para minha surpresa, acabei de descobrir que o stdint.h C99 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 header, não tenho definições para tipos úteis, como uint32_t etc.

Acontece que você pode baixar uma versão do MS deste header de:

https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h

Um portátil pode ser encontrado aqui:

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

Graças ao blog do Software Rambling .

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  #endif 

Atualização: o Visual Studio 2010 e o Visual C ++ 2010 Express possuem stdint.h . Pode ser encontrado em C:\Program Files\Microsoft Visual Studio 10.0\VC\include

O Visual Studio 2003 – 2008 (Visual C ++ 7.1 – 9) não afirma ser compatível com C99. (Obrigado ao rdentato pelo seu comentário)

Boost contém o arquivo de header cstdint.hpp com os tipos que você está procurando: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

A Microsoft não suporta o C99 e não anunciou planos para o. Eu acredito que eles pretendem rastrear os padrões C ++, mas considerem o C como 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