TGViewer
Linux / Линукс Linux / Линукс @linux_gram · 13.7K subscribers
Post #12912 1.34K
Представлена библиотека WinCore для работы Win32-программ в Linux и macOS

Проект WinCore развивает слой совместимости с Win32/WGL, позволяющий компилировать код Windows-программ, написанный на C/C++ с использованием классического API Win32, для запуска в Linux и macOS. WinCore перехватывает классические обработчики Win32 и использует кросс-платформенные бэкенды для отрисовки через SDL3 или SDL2. Код написан на C++ и распространяется под лицензией LGPLv3.

Проект стал результатом переосмысления библиотеки LDL, того же автора, который пришёл к выводу, что вместо проектирования очередного API, логичнее взять проверенный временем процедурный интерфейс Win32 API и сделать его переносимым на разные ОС и устройства. Идея в том, что код пишется по правилам Win32, но нативно компилируется и работает в Windows, Linux и macOS.

Библиотека написана на строгом C++98 для максимальной переносимости, но экспортирует чистые заголовочные файлы C89, что гарантирует обратную совместимость и позволяет легко делать биндинги к Rust, Zig, Python и другим языкам через C FFI. На данный момент добавлено 2 бэкенда - SDL2 и SDL3. В будущем планируется добавить бэкенды для XLib и Wayland.
Автор не ставит цели, эмулировать все возможности Windows и фокусируется только на подсистемах для мультимедиа и движков. В настоящее время реализовано 5 функций Kernel32.dll (управление модулями, системное время и задержки), 25 функций User32.dll (создание окон, циклы сообщений, позиция курсора и обработка ввода), 5 функций Gdi32.dll (выбор пиксельного формата, вывод битмапов и переключение буферов) и 4 функции Opengl32.dll (создание, удаление и активация контекстов WGL).

Linux / Линукс 🥸
  • ❤ 13
More from @linux_gram
  1. Oct 8, 2026Надеюсь, он установит ОС на голое железо. Linux / Линукс 🥸
  2. Oct 8, 2026Post #12917
  3. Oct 7, 2026Опубликованы сборки Raspberry Pi OS для ноутбуков и ПК на базе архитектуры x86_64 Проект R…
  4. Oct 7, 2026Linux / Линукс 🥸
  5. Oct 7, 2026[Hyprland] https://github.com/samine825/Hypr3D Linux / Линукс 🥸
  6. Oct 7, 2026🧩 Tetiva — API-клиент без аккаунта и без Electron Postman просит войти и тянет облако. Чт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →