WinCore-biblioteket til at arbejde med Win32-programmer i Linux og macOS er præsenteret

WinCore-projektet udvikler et kompatibilitetslag til Win32/WGL, der muliggør kompilering af Windows-programkode skrevet i C/C++ ved hjælp af det klassiske Win32 API, så det kan køre på Linux og macOS. WinCore opfanger klassiske Win32-håndterere og bruger krydsplatform-bagsider til at tegne via SDL3 eller SDL2. Koden er skrevet i C++ og distribueres under LGPLv3-licensen.

Projektet er resultatet af en nyfortolkning af LDL-biblioteket, af den samme forfatter, som konkluderede, at det i stedet for at designe endnu et API ville være mere logisk at tage den tidstestede proceduremæssige grænseflade Win32 API og gøre den bærbar på forskellige operativsystemer og enheder. Ideen er, at koden skrives efter Win32-reglerne, men kompilere og køre nativt i Windows, Linux og macOS.

Biblioteket er skrevet i strengt C++98 for maksimal bærbarhed, men eksporterer rene C89-headerfiler, hvilket garanterer bagudkompatibilitet og gør det muligt nemt at lave bindings til Rust, Zig, Python og andre sprog via C FFI. Indtil videre er 2 bagsider tilføjet - SDL2 og SDL3. I fremtiden er der planer om at tilføje bagsider til XLib og Wayland.

Forfatteren har ikke til hensigt at efterligne alle Windows-funktioner og fokuserer kun på subsystemer til multimedie og motorer. I øjeblikket er 5 funktioner fra Kernel32.dll implementeret (moduladministration, systemtid og forsinkelser), 25 funktioner fra User32.dll (oprettelse af vinduer, meddelelsescirkler, museposition og inputbehandling), 5 funktioner fra Gdi32.dll (valg af pixelformat, output af bitmapper og bufferomskiftning) og 4 funktioner fra Opengl32.dll (oprettelse, sletning og aktivering af WGL-kontekster).



Kilde: opennet.ru
Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster