Ku mojemu zdumieniu właśnie odkryłem, że od wersji MS Visual Studio 2003 w górę brakuje C99 stdint.h. Jestem pewien, że mają swoje powody, ale czy ktoś wie, skąd mogę pobrać kopię? Bez tego nagłówka nie mam definicji przydatnych typów, takich jak uint32_t itp.
c++
c
visual-studio
c99
Obrabować
źródło
źródło
stdint.h
Odpowiedzi:
Okazuje się, że możesz pobrać wersję MS tego nagłówka z:
https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
Przenośny można znaleźć tutaj:
http://www.azillionmonkeys.com/qed/pstdint.h
Dzięki blogowi Software Rambling .
źródło
Po prostu zdefiniuj je samodzielnie.
źródło
#define U64(u) (u##ui64)
w systemie Windows i w#define U64(u) (u##ULL)
innych przypadkach.Aktualizacja: Visual Studio 2010 i Visual C ++ 2010 Express mają
stdint.h
. Można go znaleźć wC:\Program Files\Microsoft Visual Studio 10.0\VC\include
źródło
std::
.Visual Studio 2003-2008 (Visual C ++ 7.1 - 9) nie twierdzi, że jest zgodny z C99. (Dzięki rdentato za komentarz.)
źródło
Boost zawiera plik nagłówkowy cstdint.hpp z typami, których szukasz: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp
źródło
<stdint.h>
, a nie nagłówka Boost.Microsoft nie obsługuje C99 i nie ogłosił żadnych planów. Uważam, że zamierzają śledzić standardy C ++, ale uważają C za faktycznie przestarzałe, z wyjątkiem podzbioru C ++.
Nowe projekty w programie Visual Studio 2003 i nowszych mają domyślnie ustawioną opcję „Kompiluj jako kod C ++ (/ TP)”, więc wszystkie pliki .c zostaną skompilowane jako C ++.
źródło
Inne przenośne rozwiązanie:
POSH: Przenośna uprząż Open Source
„POSH to prosta, przenośna, łatwa w użyciu, łatwa do integracji, elastyczna„ wiązka ”typu open source, zaprojektowana w celu znacznie mniej uciążliwego tworzenia i przenoszenia bibliotek i aplikacji międzyplatformowych.”
http://poshlib.hookatooka.com/poshlib/trac.cgi
jak opisano i użyto w książce: Pisanie kodu przenośnego: wprowadzenie do tworzenia oprogramowania na wiele platform Autor: Brian Hook http://books.google.ca/books?id=4VOKcEAPPO0C
-Jason
źródło