Заголовочный файл Windows.h для Win32 API представляет собой огромный включаемый файл, добавляющий сотни тысяч новых макросов, структур и функций.
Этот проект направлен на модульную структуру файла Windows.h, чтобы он включал только то, что вам нужно.
Все вклады приветствуются . Если мы сделаем это с помощью краудсорсинга, это можно будет сделать намного быстрее. Если какие-либо функции отсутствуют, пожалуйста, добавьте их и отправьте запрос на включение. Я объединю их как можно скорее
Единственный каталог, который нас интересует, — это include
, скопируйте содержимое каталога в свой проект, установите путь включения так, чтобы он указывал на каталог, содержащий каталог win32
.
Из-за очень общего именования и опасности коллизий имен рекомендуется всегда хранить их в каталоге win32
и явно указывать это в директивах включения: #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, сохраняя при этом разумную совместимость и не нарушая существующий код.
Однако есть несколько важных изменений, о которых вам следует знать:
A
или W
, например CreateFileA
и CreateFileW
.MIN
/ MAX
не предусмотрены, что эквивалентно #define NOMINMAX
. Каталог test
содержит простой тестовый пример.
Тестовый пример состоит из компиляции каждого файла модуля с включенными полными предупреждениями. Это позволит убедиться, что все зависимости соблюдены и предупреждения не выдаются.
Его можно выполнить, вызвав:
$ nmake
В вашем пути должны быть CL.EXE
и NMAKE.EXE
.
Этот проект содержит части Microsoft Windows SDK. Они лицензированы в соответствии с лицензионным соглашением Microsoft. Чтобы использовать его, вы должны прочитать и согласиться с ним.
Остальное имеет двойную лицензию: «MIT» и «Unlicense».