WinCore-prosjektet utvikler et kompatibilitetslag med Win32/WGL, som gjør det mulig å kompilere kode. Windows-programmer skrevet i C/C++ med det klassiske Win32 API-et, for å kjøre i Linux и macOSWinCore avlytter klassiske Win32-håndterere og bruker plattformuavhengige backends for gjengivelse via SDL3 eller SDL2. Koden er skrevet i C++ og distribuert under LGPLv3-lisensen.
Prosjektet var et resultat av en nytenkning av LDL-biblioteket av samme forfatter, som konkluderte med at i stedet for å designe enda et API, var det mer logisk å ta det tidstestede Win32-prosedyre-API-et og gjøre det portabelt på tvers av forskjellige operativsystemer og enheter. Ideen er at koden er skrevet i henhold til Win32-regler, men kompileres naturlig og kjører i Windows, Linux и macOS.
Biblioteket er skrevet i streng C++98 for maksimal portabilitet, men eksporterer rene C89-headerfiler, noe som sikrer bakoverkompatibilitet og muliggjør enkel binding til Rust, Zig, Python og andre språk via C FFI. To backend-programmer er for øyeblikket tilgjengelige: SDL2 og SDL3. Backend-programmer for XLib og Wayland er planlagt for fremtiden.
Forfatteren setter seg ikke som mål å etterligne alle mulighetene Windows og fokuserer kun på multimedia- og motordelsystemene. For øyeblikket er 5 Kernel32.dll-funksjoner (moduladministrasjon, systemtid og latens), 25 User32.dll-funksjoner (oppretting av vindu, meldingsløkker, markørposisjon og inputhåndtering), 5 Gdi32.dll-funksjoner (valg av pikselformat, bitmap-utdata og bufferbytte) og 4 Opengl32.dll-funksjoner (oppretting, sletting og aktivering av WGL-kontekster) implementert.


Kilde: opennet.ru
