WinCore-projektet udvikler et kompatibilitetslag med Win32/WGL, der gør det muligt at kompilere kode. Windows-programmer skrevet i C/C++ ved hjælp af den klassiske Win32 API, til at køre i Linux и macOSWinCore opfanger klassiske Win32-handlere og bruger cross-platform backends til rendering via SDL3 eller SDL2. Koden er skrevet i C++ og distribueret under LGPLv3-licensen.
Projektet var resultatet af en gentænkning af LDL-biblioteket af den samme forfatter, der konkluderede, at i stedet for at designe endnu en API, var det mere logisk at tage den tidstestede Win32-proceduremæssige API og gøre den bærbar på tværs af forskellige operativsystemer og enheder. Ideen er, at koden er skrevet i henhold til Win32-regler, men kompilerer native og kører i Windows, Linux и macOS.
Biblioteket er skrevet i streng C++98 for maksimal portabilitet, men eksporterer rene C89 header-filer, hvilket sikrer bagudkompatibilitet og muliggør nem binding til Rust, Zig, Python og andre sprog via C FFI. To backends er i øjeblikket tilgængelige: SDL2 og SDL3. Backends til XLib og Wayland er planlagt til fremtiden.
Forfatteren sætter sig ikke et mål om at efterligne alle mulighederne Windows og fokuserer kun på multimedie- og motorundersystemerne. I øjeblikket er der implementeret 5 Kernel32.dll-funktioner (modulhåndtering, systemtid og latenstid), 25 User32.dll-funktioner (oprettelse af vinduer, meddelelsesløkker, markørposition og inputhåndtering), 5 Gdi32.dll-funktioner (valg af pixelformat, bitmap-output og bufferskift) og 4 Opengl32.dll-funktioner (oprettelse, sletning og aktivering af WGL-kontekster).


Kilde: opennet.ru
