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).

Другие вопросы по тегам