C99 stdint.H заголовок и MS Visual Studio



к моему удивлению, я только что обнаружил, что C99 stdint.h отсутствует в MS Visual Studio 2003 вверх. Я уверен, что у них есть свои причины, но кто-нибудь знает где я могу скачать копию? Без этого заголовка у меня нет определений для полезных типов, таких как uint32_t и т. д.

700   7  

7 ответов:

оказывается, вы можете скачать MS-версию этого заголовка из:

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

портативный можно найти здесь:

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

спасибо Программное Обеспечение Бессвязныхs блог.

просто определите их сами.

#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

обновление: Visual Studio 2010 и Visual C++ 2010 Express как есть stdint.h. Его можно найти в C:\Program Files\Microsoft Visual Studio 10.0\VC\include

Visual Studio 2003-2008 (Visual C++ 7.1 - 9) не претендует на совместимость с C99. (Спасибо рдентато за его комментарий.)

Boost содержит cstdint.заголовочный файл hpp с типами, которые вы ищете:http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

Microsoft не поддерживает C99 и не объявила о каких-либо планах. Я считаю, что они намерены отслеживать стандарты C++, но считают C фактически устаревшим, за исключением подмножества C++.

новые проекты в Visual Studio 2003 и более поздних версиях имеют параметр" Compile as C++ Code (/TP)", установленный по умолчанию, поэтому любой .файлы c будут скомпилированы как C++.

другое портативное решение:

шикарный: портативный с открытым исходным кодом жгут

"POSH-это простой, портативный, простой в использовании, простой в интеграции, гибкий, с открытым исходным кодом "жгут", предназначенный для того, чтобы сделать написание кросс-платформенных библиотек и приложений значительно менее утомительным для создания и порта."

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

как описано и использовано в книге: Написать портативный код: введение в разработка программного обеспечения для нескольких платформ Брайан Хук http://books.google.ca/books?id=4VOKcEAPPO0C

Джейсон

Comments

    Ничего не найдено.