Domanda

Con mia grande sorpresa, ho appena scoperto che C99 stdint.h manca da MS Visual Studio 2003 in poi. Sono sicuro che hanno i loro motivi, ma qualcuno sa dove posso scaricare una copia? Senza questa intestazione non ho definizioni per tipi utili come uint32_t, ecc.

È stato utile?

Soluzione

Si scopre che è possibile scaricare una versione MS di questa intestazione da:

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

Puoi trovarne uno portatile qui:

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

Grazie a Software Rambling s blog.

Altri suggerimenti

Definiscili tu stesso.

#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

Aggiornamento: Visual Studio 2010 e Visual C ++ 2010 Express hanno entrambi stdint.h . Si trova in C: \ Programmi \ Microsoft Visual Studio 10.0 \ VC \ include

Visual Studio 2003-2008 (Visual C ++ 7.1 - 9) non pretendono di essere C99 compatibile. (Grazie a rdentato per il suo commento.)

Boost contiene il file di intestazione cstdint.hpp con i tipi che stai cercando: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

Microsoft non supporta C99 e non ha annunciato alcun piano. Credo che intendono tracciare gli standard C ++ ma ritengono che C sia effettivamente obsoleto se non come un sottoinsieme di C ++.

I nuovi progetti in Visual Studio 2003 e versioni successive hanno " Compila come codice C ++ (/ TP) " opzione impostata di default, quindi tutti i file .c verranno compilati come C ++.

Un'altra soluzione portatile:

POSH: il cablaggio open source portatile

" POSH è un cablaggio semplice, portatile, facile da usare, facile da integrare, flessibile, open source " progettato per rendere la scrittura di librerie e applicazioni multipiattaforma significativamente meno noiose per la creazione e il port. "

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

come descritto e usato nel libro: Scrivi codice portatile: un'introduzione allo sviluppo di software per più piattaforme Di Brian Hook http://books.google.ca/books?id=4VOKcEAPPO0C

-Jason

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top