Le fichier d'en-tête Windows.h pour l'API Win32 est un monstre de fichiers d'inclusion, ajoutant des centaines de milliers de nouvelles macros, structures et fonctions.
Ce projet vise à modulariser le fichier Windows.h, pour n'inclure que ce dont vous avez besoin.
Toutes les contributions sont les bienvenues , si nous faisons un effort participatif, cela peut être réalisé beaucoup plus rapidement. Si des fonctions manquent, n'hésitez pas à les ajouter et à soumettre une pull request. Je les fusionnerai dès que possible
Le seul répertoire intéressant est include
, copiez le contenu du répertoire dans votre projet, définissez le chemin d'inclusion pour qu'il pointe vers le répertoire contenant le répertoire win32
.
En raison de la dénomination très générique et du risque de collisions de noms, il est recommandé de toujours les conserver dans le répertoire win32
et de le garder explicite dans les directives d'inclusion : #include
.
Le répertoire win32
contient les éléments suivants :
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
'ing les fichiers ci-dessus):windows_modular.h
windows.h
windows_base.h
est inclus dans chacun des fichiers d'inclusion modulaires, il contient les types, macros et structures requis utilisés par plusieurs modules.
Nous essayons de fournir un remplacement complet des propres en-têtes de Microsoft, tout en conservant un niveau raisonnable de compatibilité et en ne cassant aucun code existant.
Cependant, il y a quelques changements importants dont vous devez être conscient :
A
ou W
, par exemple CreateFileA
et CreateFileW
.MIN
/ MAX
ne sont pas fournies, ce qui équivaut à #define NOMINMAX
. Le répertoire test
contient un scénario de test simple.
Le scénario de test consiste à compiler chaque fichier de module avec les avertissements complets activés, cela garantira que toutes les dépendances sont respectées et qu'aucun avertissement n'est émis.
Il peut être exécuté en appelant :
$ nmake
Nécessite CL.EXE
et NMAKE.EXE
dans votre chemin.
Ce projet contient des parties du SDK Microsoft Windows. Ils sont sous licence EULA de Microsoft. Pour l'utiliser, vous devez le lire et l'accepter.
Le reste est sous double licence sous la licence « MIT » et « Unlicense ».