C99 stdint.h Header und MS Visual Studio

Lesezeit: 4 Minuten

Zu meinem Erstaunen habe ich gerade festgestellt, dass die C99 stdint.h ab MS Visual Studio 2003 aufwärts fehlt. Ich bin sicher, sie haben ihre Gründe, aber weiß jemand, wo ich eine Kopie herunterladen kann? Ohne diesen Header habe ich keine Definitionen für nützliche Typen wie uint32_t usw.

  • Als Update dazu: MSVC 2010 jetzt inklusive stdint.h

    – Michael Burr

    24. November 2010 um 3:12 Uhr

  • An diesem Blog vorbei: blogs.msdn.com/b/vcblog/archive/2014/11/17/…, VS 2015 Preview unterstützt die C99-Standardbibliothek vollständig (wobei die einzigen Auslassungen tgmath.h sind, das C-Compiler-Magie erfordert und für C++ mit Überladung nicht relevant ist, und CX_LIMITED_RANGE/FP_CONTRACT, die ebenfalls Compiler-Unterstützung erfordern).

    – Vulkanrabe

    14. Dezember 2014 um 3:48 Uhr

C99 stdinth Header und MS Visual Studio
rauben

Es stellt sich heraus, dass Sie eine MS-Version dieses Headers herunterladen können von:

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

Eine tragbare findet man hier:

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

Danke an die Software-Streifzüges Blog.

Hinweis: Die von Michael Burr in einem Kommentar erwähnte Public-Domain-Version des Headers ist als archivierte Kopie zu finden Hier. Eine aktualisierte Version finden Sie in der Android-Quellbaum für libusb_aah.

  • Eine öffentliche Domäne (keine MIT/BSD-Lizenz – Sie müssen nicht einmal einen Urheberrechtsvermerk aufrechterhalten) stdint.h für MSVC (eine leicht modifizierte Version von MinGW): snipplr.com/view/18199/stdinth

    – Michael Burr

    23. Oktober 2009 um 7:32 Uhr

  • Der erste Link 404s

    – Matthäus Moisen

    23. Juli 2016 um 19:42 Uhr

  • Die ursprüngliche Antwort geändert, aber: github.com/mattn/gntp-send/blob/master/include/msinttypes/… der SVN-Link ist tot

    – smaudet

    29. Oktober 2016 um 20:26 Uhr


C99 stdinth Header und MS Visual Studio
Nicolas Mancuso

Definieren Sie sie einfach selbst.

#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

  • Übersehe ich etwas oder sollte es nicht typedef unsigned __int64 uint64_t sein; ?

    – Roman A. Taycher

    5. Dezember 2010 um 8:55 Uhr


  • Und um wörtliche uint64_t-Werte zu verwenden, ist es nützlich #define U64(u) (u##ui64) unter Windows und zu #define U64(u) (u##ULL) Andernfalls.

    – Niklas

    14. August 2013 um 11:12 Uhr


Aktualisieren: Visual Studio 2010 und Visual C++ 2010 Express beide haben stdint.h. Es ist darin zu finden C:\Program Files\Microsoft Visual Studio 10.0\VC\include

  • Sowie für C++-Benutzer, die es mögen std::.

    – Adrian McCarthy

    12. September 2012 um 16:45 Uhr

1646892012 251 C99 stdinth Header und MS Visual Studio
Adam Mitz

Visual Studio 2003–2008 (Visual C++ 7.1–9) beansprucht nicht, C99-kompatibel zu sein. (Dank an rdento für seinen Kommentar.)

Boost enthält die Header-Datei cstdint.hpp mit den gesuchten Typen: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

  • boost ist C++, die Frage ist auf C99

    – Remo.D

    24. September 2008 um 14:11 Uhr

  • Es ist nicht klar – er fragt nach einem C99-Header in Visual Studio, ohne anzugeben, welche Sprache er verwendet. Auf jeden Fall kann es nicht C99 sein, weil Microsoft es nicht unterstützt.

    – Nemanja Trifunovic

    24. September 2008 um 14:36 ​​Uhr

  • OP möchte eine Kopie von <stdint.h>kein Boost-Header.

    – jww

    1. Oktober 2016 um 8:16 Uhr

1646892013 708 C99 stdinth Header und MS Visual Studio
Mike Dimmick

Microsoft unterstützt C99 nicht und hat auch keine Pläne dazu angekündigt. Ich glaube, sie beabsichtigen, C++-Standards zu verfolgen, betrachten C jedoch als effektiv veraltet, außer als Teilmenge von C++.

Bei neuen Projekten in Visual Studio 2003 und höher ist die Option „Als C++-Code kompilieren (/TP)“ standardmäßig festgelegt, sodass alle C-Dateien als C++ kompiliert werden.

  • boost ist C++, die Frage ist auf C99

    – Remo.D

    24. September 2008 um 14:11 Uhr

  • Es ist nicht klar – er fragt nach einem C99-Header in Visual Studio, ohne anzugeben, welche Sprache er verwendet. Auf jeden Fall kann es nicht C99 sein, weil Microsoft es nicht unterstützt.

    – Nemanja Trifunovic

    24. September 2008 um 14:36 ​​Uhr

  • OP möchte eine Kopie von <stdint.h>kein Boost-Header.

    – jww

    1. Oktober 2016 um 8:16 Uhr

1646892013 849 C99 stdinth Header und MS Visual Studio
Jason Harrison

Eine andere tragbare Lösung:

POSH: Das tragbare Open-Source-Geschirr

“POSH ist ein einfacher, portabler, benutzerfreundlicher, leicht integrierbarer, flexibler Open-Source-“Harness”, der entwickelt wurde, um das Schreiben von plattformübergreifenden Bibliotheken und Anwendungen wesentlich weniger mühsam zu erstellen und zu portieren.”

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

wie beschrieben und verwendet in dem Buch: Write portable code: an Introduction to development software for multiple platforms Von Brian Hook
http://books.google.ca/books?id=4VOKcEAPPO0C

-Jason

  • Aus dem Poshlib-Wikipedia-Artikel lautet die Linkautorisierung: Benutzername: guest, Passwort: guest123

    – JPaget

    13. September 2012 um 23:19 Uhr

  • Gesamtsumme von 3 Commits, der letzte vom September 2006

    – Antoine L

    21. Februar 2015 um 11:58 Uhr

986520cookie-checkC99 stdint.h Header und MS Visual Studio

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy