C99 stdint.h header e MS Visual Studio
-
02-07-2019 - |
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.
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