MSVC で作成されたすべてのプロジェクトには、プリコンパイル済みヘッダーである stdafx があります。SDKDDKVer.h が含まれていますが、そのヘッダーの内容がわかりません。
これは何のため ?
MSVC で作成されたすべてのプロジェクトには、プリコンパイル済みヘッダーである stdafx があります。SDKDDKVer.h が含まれていますが、そのヘッダーの内容がわかりません。
これは何のため ?
targetver.hプログラムでSDKDDKVer.hサポートする OS に基づいて、Windows ヘッダーからコードに含まれる関数、定数などを制御するために使用されます。targetver.h定義が他の場所で指定されていない限り、デフォルトで Windows の最新バージョンを使用するように設定されていると思います。
SDKDDKVer.h#definesは、 Windows、IE などの各バージョンを表すを実際に定義するヘッダー ファイルです。
SDKDDKVer.h(SDK 8.1の) 行 193 には次のように記載されています。
「バージョンがまだ定義されていない場合、デフォルトで最新」
このコメントは、具体的には_WIN32_WINNTおよびNTDDI_VERSIONマクロを参照しています。
そう..
SDKDDKVer.hマクロがまだ定義されていない限り、デフォルト値を適用します#define _WIN32_WINNT 0x0601#define NTDDI_VERSION 0x06010000SDKDDKVer.hヘッダー ファイルには、すべての SDK バージョンに対して定義された「定数」値があります。例えば:
#define _WIN32_WINNT_WINXP 0x0501#define _WIN32_WINNT_WIN7 0x0601#define _WIN32_WINNT_WIN8 0x0602_WIN32_WINNTを定義することです。これは、プリコンパイル済みヘッダーで参照します。NTDDI_VERSIONTargetVer.hStdAfx.h