Microsoft Visual Studio 2010 поддерживает c99?
Я хотел бы знать, поддерживает ли Microsoft Visual Studio 2010 C99. Если нет, то как я могу использовать стандартные типы, такие как intptr_t
а также uintptr_t
?
3 ответа
Насколько я могу судить, Visual Studio 2010 не поддерживает C99. Чтобы использовать типы из stdint.h, вам придется использовать typedef. Кроссплатформенный способ сделать это будет:
#ifdef _WIN32
typedef signed short int16_t
#else
#include <stdint.h>
#endif
Смотрите также этот вопрос: Поддержка Visual Studio для новых стандартов C / C++?
Visual Studio 2010 не поддерживает синтаксис C99. stdint.h
Это очень распространенный файл во всех компиляторах C/C++, который существует в установке Visual C++ 10.0, включенной в Windows SDK (независимо от используемой версии Visual Studio).
stdint.h можно найти в:
- C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ include \
Этот файл предоставляет typedef для intptr_t
, Не стесняйтесь использовать его в любом проекте C или C++, который вам нравится.
Microsoft C не поддерживает C99. Тем не менее, MSVC 16 (то, что поставляется с Visual Studio 2010) реализует большую часть будущего стандарта C++0x. C++0x включает некоторые заголовки из C99, такие как stdint.h
а также inttypes.h
- вот почему вы получаете некоторые лакомые кусочки C99 с MSVC 16.
Будьте благодарны за небольшие вещи (я хотел бы, чтобы MSVC поддерживал немного больше C99 при компиляции прямых файлов C).