Поддерживает ли 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).