O arquivo de cabeçalho Windows.h para a API Win32 é um arquivo gigante de inclusão, adicionando centenas de milhares de novas macros, estruturas e funções.
Este projeto visa modularizar o arquivo Windows.h, para incluir apenas o que você precisa.
Todas as contribuições são bem-vindas . Se fizermos um esforço de crowdsourcing, isso poderá ser concluído muito mais rapidamente. Se alguma função estiver faltando, sinta-se à vontade para adicioná-la e enviar uma solicitação pull. Vou mesclá-los o mais rápido possível
O único diretório de interesse é include , copie o conteúdo do diretório para o seu projeto, defina o caminho de inclusão para apontar para o diretório que contém o diretório win32 .
Devido à nomenclatura muito genérica e ao perigo de colisões de nomes, é recomendado sempre mantê-los no diretório win32 e mantê-lo explícito nas diretivas de inclusão: #include <win32/file.h> .
O diretório win32 contém o seguinte:
windows_base.hatomic.hdbghelp.hdds.hfile.hgdi.hio.hmisc.hprocess.hsysinfo.hthreads.hwindow.h#include 'ing os arquivos acima):windows_modular.hwindows.h windows_base.h é incluído por cada um dos arquivos de inclusão modulares e contém os tipos, macros e estruturas necessárias usadas por vários módulos.
Tentamos fornecer uma substituição completa para os próprios cabeçalhos da Microsoft, mantendo uma quantidade razoável de compatibilidade e não quebrando nenhum código existente.
No entanto, existem algumas alterações importantes que você deve estar ciente:
A ou W , por exemplo CreateFileA e CreateFileW .MIN / MAX não são fornecidas, equivalentes a #define NOMINMAX . O diretório test contém um caso de teste simples.
O caso de teste consiste em compilar cada arquivo de módulo com avisos completos ativados, isso garantirá que todas as dependências sejam atendidas e nenhum aviso seja emitido.
Pode ser executado chamando:
$ nmake
Requer CL.EXE e NMAKE.EXE em seu caminho.
Este projeto contém partes do SDK do Microsoft Windows. Eles são licenciados pelo EULA da Microsoft. Para usá-lo você deve ler e concordar com ele.
O restante possui licença dupla sob as licenças "MIT" e "Unlicense".