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