Заголовок C99 stdint.h и MS Visual Studio
130478 просмотра
7 ответа
К моему удивлению, я только что обнаружил, что C99 stdint.h отсутствует в MS Visual Studio 2003 и выше. Я уверен, что у них есть свои причины, но кто-нибудь знает, где я могу скачать копию? Без этого заголовка у меня нет определений для полезных типов, таких как uint32_t и т. Д.
Автор: Rob Источник Размещён: 13.11.2019 11:49Ответы (7)
82 плюса
Оказывается, вы можете скачать MS версию этого заголовка с:
https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
Портативный можно найти здесь:
http://www.azillionmonkeys.com/qed/pstdint.h
Благодаря блогу Software Rambling .
Автор: Rob Размещён: 24.09.2008 09:5445 плюса
Просто определите их сами.
#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
Автор: Nicholas Mancuso
Размещён: 24.09.2008 01:37
44 плюса
Обновление: Visual Studio 2010 и Visual C ++ 2010 Express оба имеют stdint.h
. Это можно найти вC:\Program Files\Microsoft Visual Studio 10.0\VC\include
23 плюса
Visual Studio 2003 - 2008 (Visual C ++ 7.1 - 9) не претендует на совместимость с C99. (Спасибо rdentato за его комментарий.)
Автор: Adam Mitz Размещён: 24.09.2008 11:5311 плюса
Boost содержит заголовочный файл cstdint.hpp с типами, которые вы ищете: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp
Автор: Nemanja Trifunovic Размещён: 24.09.2008 01:565 плюса
Microsoft не поддерживает C99 и не объявила о своих планах. Я считаю, что они намерены отслеживать стандарты C ++, но считают, что C фактически устарел, за исключением подмножества C ++.
Новые проекты в Visual Studio 2003 и более поздних версиях имеют опцию «Компилировать как код C ++ (/ TP)» по умолчанию, поэтому любые файлы .c будут скомпилированы как C ++.
Автор: Mike Dimmick Размещён: 24.09.2008 04:044 плюса
Еще одно портативное решение:
POSH: Портативный жгут с открытым исходным кодом
«POSH - это простой, переносимый, простой в использовании, легко интегрируемый, гибкий« жгут »с открытым исходным кодом, разработанный для того, чтобы написание кроссплатформенных библиотек и приложений было значительно менее утомительным для создания и переноса».
http://poshlib.hookatooka.com/poshlib/trac.cgi
как описано и используется в книге: «Написание переносимого кода: введение в разработку программного обеспечения для нескольких платформ» Брайан Хук http://books.google.ca/books?id=4VOKcEAPPO0C
Джейсон
Автор: Jason Harrison Размещён: 25.05.2009 09:51Вопросы из категории :
- c++ What are the barriers to understanding pointers and what can be done to overcome them?
- c++ Какой самый простой способ для анализа файла INI в C ++?
- c++ Когда вы должны использовать «друг» в C ++?
- c++ Как вы очищаете переменную stringstream?
- c++ В C ++ конструктор и деструктор могут быть встроенными функциями?
- c Как вы форматируете unsigned long long int, используя printf?
- c Как реализовать продолжения?
- c Как вы передаете функцию в качестве параметра в C?
- c Как получить список каталогов в C?
- visual-studio Ошибка Visual Studio: непредвиденная задача «GenerateResource»
- visual-studio Какой самый лучший бесплатный детектор утечки памяти для программы на C / C ++ и ее подключаемых библиотек DLL?
- visual-studio программно получить установочный каталог Visual Studio
- visual-studio В чем разница между Build Solution и Batch Build в Visual Studio 2008?
- visual-studio Как заставить Visual Studio заново создать файлы .designer для файлов aspx / ascx?
- c99 Заголовок C99 stdint.h и MS Visual Studio
- c99 Требуются ли прототипы для всех функций в C89, C90 или C99?
- c99 Предварительные определения в C и ссылки
- c99 Каков правильный тип для индексов массива в C?
- c99 Анонимный союз внутри структуры не в C99?