我想知道 Microsoft Visual Studio 2010 是否支持 C99 标准。如果不支持,我该如何使用标准类型,例如 intptr_t
和 uintptr_t
?
我想知道 Microsoft Visual Studio 2010 是否支持 C99 标准。如果不支持,我该如何使用标准类型,例如 intptr_t
和 uintptr_t
?
stdint.h
是所有C/C++编译器中非常常见的文件,在安装了Visual C++10.0(无论您使用哪个版本的Visual Studio)时已包含在Windows SDK中。stdint.h
文件:
intptr_t
提供了一种类型定义,可在任何C或C++项目中自由使用。#ifdef _WIN32
typedef signed short int16_t
#else
#include <stdint.h>
#endif
另请参阅这个问题:Visual Studio对新的C/C++标准的支持?
微软的C语言不支持C99。然而,MSVC 16(Visual Studio 2010提供的版本)实现了即将到来的C++0x标准的很大一部分。C++0x正在引入一些来自C99的头文件,例如stdint.h
和inttypes.h
——这就是为什么你可以在MSVC 16中获得一些C99的小细节。
对于一些小事情要心存感激(希望MSVC能够在编译纯C文件时支持更多的C99特性)。