WinCore-biblioteket för att köra Win32-program i Linux и macOS

WinCore-projektet utvecklar ett kompatibilitetslager med Win32/WGL, vilket gör det möjligt att kompilera kod. Windows-program skrivna i C/C++ med det klassiska Win32 API:et, för att köras i Linux и macOSWinCore fångar upp klassiska Win32-hanterare och använder plattformsoberoende backends för rendering via SDL3 eller SDL2. Koden är skriven i C++ och distribueras under LGPLv3-licensen.

Projektet var resultatet av ett nytänkande av LDL-biblioteket av samma författare, som drog slutsatsen att istället för att designa ytterligare ett API, var det mer logiskt att ta det beprövade Win32-procedurella API:et och göra det portabelt över olika operativsystem och enheter. Tanken är att koden skrivs enligt Win32-regler, men kompileras nativt och körs i Windows, Linux и macOS.

Biblioteket är skrivet i strikt C++98 för maximal portabilitet, men exporterar rena C89-headerfiler, vilket säkerställer bakåtkompatibilitet och möjliggör enkel bindning till Rust, Zig, Python och andra språk via C FFI. Två backends finns för närvarande tillgängliga: SDL2 och SDL3. Backends för XLib och Wayland planeras för framtiden.

Författaren sätter inte upp som mål att efterlikna alla möjligheter Windows och fokuserar endast på multimedia- och motordelsystemen. För närvarande är 5 Kernel32.dll-funktioner (modulhantering, systemtid och latens), 25 User32.dll-funktioner (skapande av fönster, meddelandeloopar, markörposition och inmatningshantering), 5 Gdi32.dll-funktioner (val av pixelformat, bitmappsutdata och buffertväxling) och 4 Opengl32.dll-funktioner (skapande, borttagning och aktivering av WGL-kontexter) implementerade.



Källa: opennet.ru
Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster