web-dev-qa-db-ja.com

Microsoft Visual Studioが<stdint.h>を見つけられないのはなぜですか?

可能性のある複製:
Visual Studioは新しいC/C++標準をサポートしていますか?

wiki から以下のテキストを参照してください:

C99標準には、プログラムの移植性を高めるために、いくつかの新しい整数型の定義が含まれています[2]。すでに利用可能な基本的な整数型は、実際のサイズが実装で定義されており、システムによって異なる可能性があるため、不十分と見なされていました。新しいタイプは、ハードウェアが通常いくつかのタイプのみをサポートし、サポートがシステムごとに異なる組み込み環境で特に役立ちます。すべての新しい型はinttypes.hヘッダー(C++のcinttypesヘッダー)で定義されており、stdint.hヘッダー(C++のcstdintヘッダー)でも使用できます。タイプは次のカテゴリにグループ化できます。

私のビジュアルスタジオはこのファイルを見つけることができません。

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

どうして?

11
Narek

[〜#〜]編集[〜#〜]

Visual Studio 2013以降、Visual Studioに C99ライブラリサポート が追加されていることに注意してください。

以下の答えは、Visual Studio 2013がサポートを追加する前の私の古い答えです。


MSVCはC言語を非常に貧弱にサポートしており、C90以降はサポートしていません。 Herb Sutterはすでにこれを公式に述べています 彼のブログで

<cstdint>MSVC2012 からサポートされています。

Microsoft Visual Studioにstdint.hとinttypes.hがない場合を埋める msinttypes プロジェクトがあります。

Boostは、 boost/cstdint.hpp も提供します(持っていない場合)。

14
Jesse Good