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

标签 c++ std stdint

<分区>

Possible Duplicate:
Visual Studio support for new C / C++ standards?

请参阅以下来自 wiki 的文字:

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

我的 visual studio 找不到任何这样的文件:

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

为什么?

最佳答案

编辑

请注意,从 Visual Studio 2013 开始,C99 library support已添加到 Visual Studio。

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


MSVC 对 C 语言的支持很差,不支持 C90 之后的任何东西。 Herb Sutter 已经公开声明了这一点 in his blog .

<cstdint>MSVC2012 支持.

有一个msinttypes项目(从 Google Code 上的 original repo 导出)填补了 Microsoft Visual Studio 中 stdint.h 和 inttypes.h 的缺失。

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

关于c++ - 为什么 Microsoft Visual Studio 找不到 <stdint.h>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12970293/

相关文章:

c++新运算符使用问题

c++ - 哪个 C++ 标准头文件定义了 SIZE_MAX?

c - stdint.h 和 C99

c++ - 用于将容器累积到字符串中的标准算法,其中分隔符分隔条目?

c - 为什么不需要所有最小宽度整数类型(最多 64 位)的存在?

c++ - 同一互斥锁上的锁定和解锁顺序是否一致?

c++ - Ncurses:面板的 doupdate() 和 refresh() 之间的区别

c++ - 如何使枚举类与 'bit-or' 功能一起使用?

c++ - std::cin >> std::string 是如何实现的?

c++ - 是否定义为 C++ 标准算法提供空范围?