MXStat
MXStat
Введите текст для поиска
Расширенный поиск каналов
  • Вход на сайт
  • Каталог
    Каталог каналов Региональные подборки Поиск каналов
    Добавить канал
  • Рейтинги
    Рейтинг каналов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Max
Linux | Линукс

8 Oct, 08:12

Открыть в Max Поделиться

Представлена библиотека 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).

@linux0ids

860 18
Каталог
Каталог каналов Подборки каналов Поиск каналов Добавить канал
Рейтинги
Рейтинг каналов Max
Контакты
Написать в Max Написать в Telegram Написать на почту
Всякая всячина
Пользовательское соглашение Политика конфиденциальности
Наши каналы
MXStat в Telegram MXStat в Max
Наши боты
MXAuthBot MXAnalyticsBot
Made by TGStat