К моему удивлению, я только что обнаружил, что C99 stdint.h отсутствует в MS Visual Studio 2003 и выше. Я уверен, что у них есть свои причины, но кто-нибудь знает, где я могу скачать копию? Без этого заголовка у меня нет определений для полезных типов, таких как uint32_t и т. Д.
c++
c
visual-studio
c99
Роб
источник
источник
stdint.h
Ответы:
Оказывается, вы можете загрузить версию этого заголовка для MS по адресу:
https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
Портативный можно найти здесь:
http://www.azillionmonkeys.com/qed/pstdint.h
Спасибо блогу Software Rambling .
источник
Просто определите их сами.
источник
#define U64(u) (u##ui64)
Windows и в#define U64(u) (u##ULL)
противном случае.Обновление: Visual Studio 2010 и Visual C ++ 2010 Express имеют
stdint.h
. Его можно найти вC:\Program Files\Microsoft Visual Studio 10.0\VC\include
источник
std::
.Visual Studio 2003–2008 (Visual C ++ 7.1–9) не претендует на совместимость с C99. (Спасибо rdentato за его комментарий.)
источник
Boost содержит заголовочный файл cstdint.hpp с типами, которые вы ищете: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp
источник
<stdint.h>
, а не заголовок Boost.Microsoft не поддерживает C99 и не объявила о каких-либо планах. Я считаю, что они намерены отслеживать стандарты C ++, но считают C фактически устаревшим, за исключением подмножества C ++.
Новые проекты в Visual Studio 2003 и более поздних версиях имеют параметр «Компилировать как код C ++ (/ TP)», установленный по умолчанию, поэтому любые файлы .c будут скомпилированы как C ++.
источник
Еще одно портативное решение:
POSH: Портативная система с открытым исходным кодом
«POSH - это простая, портативная, удобная в использовании, легко интегрируемая, гибкая система с открытым исходным кодом, предназначенная для того, чтобы сделать написание кроссплатформенных библиотек и приложений значительно менее утомительным для создания и переноса».
http://poshlib.hookatooka.com/poshlib/trac.cgi
как описано и использовано в книге: Написание переносимого кода: введение в разработку программного обеспечения для нескольких платформ Автор Брайан Хук http://books.google.ca/books?id=4VOKcEAPPO0C
Джейсон
источник