Win32 API の Windows.h ヘッダー ファイルは、何十万もの新しいマクロ、構造体、関数を追加する巨大なインクルード ファイルです。
このプロジェクトは、Windows.h ファイルをモジュール化し、必要なものだけを含めることを目的としています。
すべての貢献を歓迎します。これをクラウドソーシングの取り組みにすると、はるかに早く完了できます。不足している機能がある場合は、お気軽に追加してプルリクエストを送信してください。できるだけ早く統合します
対象となるディレクトリはinclude
のみです。ディレクトリの内容をプロジェクトにコピーし、 win32
ディレクトリを含むディレクトリを指すようにインクルード パスを設定します。
非常に一般的な名前付けと名前の衝突の危険性があるため、常にwin32
ディレクトリに保存し、 include ディレクティブ#include
で明示的に指定することをお勧めします。
win32
ディレクトリには次のものが含まれます。
windows_base.h
atomic.h
dbghelp.h
dds.h
file.h
gdi.h
io.h
misc.h
process.h
sysinfo.h
threads.h
window.h
#include
ます):windows_modular.h
windows.h
windows_base.h
は各モジュラー インクルード ファイルにインクルードされており、複数のモジュールで使用される必要な型、マクロ、構造が含まれています。
私たちは、適度な互換性を維持し、既存のコードを壊さないようにしながら、Microsoft 独自のヘッダーの完全な置き換えを提供するよう努めています。
ただし、注意すべき重大な変更がいくつかあります。
CreateFileA
やCreateFileW
のように、 A
またはW
を追加して、Unicode または ASCII バリアントを呼び出すかどうかを手動で指定する必要があります。#define NOMINMAX
に相当するMIN
/ MAX
マクロは提供されません。test
ディレクトリには、単純なテスト ケースが含まれています。
テスト ケースは、完全な警告をオンにして各モジュール ファイルをコンパイルすることで構成されます。これにより、すべての依存関係が満たされ、警告が出力されないことが確認されます。
以下を呼び出すことで実行できます。
$ nmake
パスにCL.EXE
とNMAKE.EXE
が必要です。
このプロジェクトには、Microsoft Windows SDK の一部が含まれています。これらは Microsoft の EULA に基づいてライセンスされています。使用するには、内容を読んで同意する必要があります。
残りは「MIT」ライセンスと「アンライセンス」ライセンスに基づくデュアルライセンスです。