Win32 API の Windows.h ヘッダー ファイルは、何十万もの新しいマクロ、構造体、関数を追加する巨大なインクルード ファイルです。
このプロジェクトは、Windows.h ファイルをモジュール化し、必要なものだけを含めることを目的としています。
すべての貢献を歓迎します。これをクラウドソーシングの取り組みにすると、はるかに早く完了できます。不足している機能がある場合は、お気軽に追加してプルリクエストを送信してください。できるだけ早く統合します
対象となるディレクトリはincludeのみです。ディレクトリの内容をプロジェクトにコピーし、 win32ディレクトリを含むディレクトリを指すようにインクルード パスを設定します。
非常に一般的な名前付けと名前の衝突の危険性があるため、常にwin32ディレクトリに保存し、 include ディレクティブ#include <win32/file.h>で明示的に指定することをお勧めします。
win32ディレクトリには次のものが含まれます。
windows_base.hatomic.hdbghelp.hdds.hfile.hgdi.hio.hmisc.hprocess.hsysinfo.hthreads.hwindow.h#includeます):windows_modular.hwindows.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」ライセンスと「アンライセンス」ライセンスに基づくデュアルライセンスです。