Pergunta

Para minha surpresa eu só descobri que o stdint.h C99 está faltando MS Visual Studio 2003 para cima. Tenho certeza que eles têm as suas razões, mas alguém sabe onde eu posso baixar uma cópia? Sem este cabeçalho I não têm uma definição para tipos úteis, tais como uint32_t, etc.

Foi útil?

Solução

Acontece que você pode baixar uma versão de MS deste cabeçalho de:

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

A um portátil pode ser encontrada aqui:

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

Graças à Software Rambling s blog.

Outras dicas

Apenas defini-los 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

Update: Visual Studio 2010 e Visual C ++ 2010 Express ambos têm stdint.h. Ela pode ser encontrada em C:\Program Files\Microsoft Visual Studio 10.0\VC\include

Visual Studio 2003 - 2008 (Visual C ++ 7,1-9) não pretendem ser C99 compatível. (Graças a rdentato por seu comentário.)

Aumento contém arquivo de cabeçalho cstdint.hpp com os tipos que você está procurando: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

Microsoft não suportam C99 e ainda não anunciou quaisquer planos para. Eu acredito que eles pretendem seguir padrões C ++, mas consideram C como efetivamente obsoleto, exceto como um subconjunto de C ++.

projectos de novo no Visual Studio 2003 e posteriores têm o "Compile como código C ++ (/ TP)" conjunto de opções por padrão, então todos os arquivos .c será compilado como C ++.

Outra solução portátil:

POSH: O portátil Open Source Harness

"POSH é um simples, portátil, fácil de usar, fácil de integrar, flexível, open source 'arnês', projetado para tornar a escrita bibliotecas multi-plataforma e aplicações significativamente menos entediantes para criar e portuárias."

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

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

Jason

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top