Projektet WinCore utvecklar ett kompatibilitetslager för Win32/WGL, som möjliggör kompilering av Windows-programkod skriven i C/C++ med hjÀlp av det klassiska API:et Win32 för att köra pÄ Linux och macOS. WinCore fÄngar klassiska Win32-hanterare och anvÀnder plattformsoberoende backend-lösningar för rendering via SDL3 eller SDL2. Koden Àr skriven i C++ och distribueras under LGPLv3-licensen.
Projektet Àr resultatet av en omvÀrdering av biblioteket LDL av samma skapare, som kom fram till att det istÀllet för att designa ett nytt API var mer logiskt att ta det beprövade procedurala grÀnssnittet Win32 API och göra det portabelt till olika operativsystem och enheter. Idén Àr att koden skrivs enligt Win32-regler, men kompileras nativt och fungerar i Windows, Linux och macOS.
Biblioteket Ă€r skrivet i strikt C++98 för maximal portabilitet, men exporterar rena headerfiler i C89, vilket garanterar bakĂ„tkompatibilitet och gör det enkelt att skapa bindingar till Rust, Zig, Python och andra sprĂ„k via C FFI. För nĂ€rvarande har tvĂ„ backend-lösningar lagts till â SDL2 och SDL3. I framtiden planeras backend-lösningar för XLib och Wayland.
Skaparen har inte som mÄl att emulera alla funktioner hos Windows och fokuserar enbart pÄ delsystemen för multimedia och motorer. För nÀrvarande har 5 funktioner frÄn Kernel32.dll implementerats (modulhantering, systemtid och förseningar), 25 funktioner frÄn User32.dll (fönsterskapande, meddelandecykler, musens position och inmatningshantering), 5 funktioner frÄn Gdi32.dll (val av pixelformat, bitmap-utmatning och buffertvÀxling) och 4 funktioner frÄn Opengl32.dll (skapa, ta bort och aktivera WGL-kontexter).


KĂ€lla: opennet.ru
