为什么Microsoft Visual Studio找不到<stdint.h>?

Nar*_*rek 10 c++ std stdint

可能重复:
Visual Studio支持新的C/C++标准?

请参阅以下wiki文本:

C99标准包括几种新整数类型的定义,以增强程序的可移植性[2].已经可用的基本整数类型被认为是不够的,因为它们的实际大小是实现定义的并且可能在不同系统之间变化.新类型在嵌入式环境中特别有用,在这些环境中,硬件通常只支持几种类型,并且支持因系统而异.所有新类型都在inttypes.h头文件中定义(C++中的cinttypes头文件),也可以在stdint.h头文件中找到(C++中的cstdint头文件).这些类型可以分为以下几类:

我的visual studio找不到这些文件:

  1. <cstdint>
  2. <cinttypes>
  3. <stdint.h>
  4. <inttypes.h>

为什么?

Jes*_*ood 14

编辑

请注意,从Visual Studio 2013开始,已向Visual Studio添加了C99库支持.

下面的答案是我在Visual Studio 2013添加支持之前的旧答案:


MSVC对C语言的支持很差,他们不支持C90以后的任何东西.Herb Sutter已经在他的博客中公开表达了这一点.

<cstdint>MSVC2012支持.

有一个msinttypes项目填充了Microsoft Visual Studio中stdint.h和inttypes.h的缺失.

如果你没有它,Boost还提供boost/cstdint.hpp.

  • Visual Studio 2013(12.0)具有stdint.h和inttypes.h (4认同)
  • 是的,这是在[2013年7月](http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-visual-studio-2013.aspx)中公布的.我在2012年10月发布了这个答案. (2认同)