WinCore biblioteka za pokretanje Win32 programa u Linux и macOS

Projekt WinCore razvija sloj kompatibilnosti s Win32/WGL-om, omogućavajući kompajliranje koda. Windows-programi napisani u C/C++ koristeći klasični Win32 API, za pokretanje u Linux и macOSWinCore presreće klasične Win32 handlere i koristi višeplatformske backendove za renderiranje putem SDL3 ili SDL2. Kod je napisan u C++ i distribuiran pod LGPLv3 licencom.

Projekat je bio rezultat ponovnog osmišljavanja LDL biblioteke od strane istog autora, koji je zaključio da je, umjesto dizajniranja još jednog API-ja, logičnije uzeti vremenski provjereni proceduralni Win32 API i učiniti ga prenosivim na različite operativne sisteme i uređaje. Ideja je da je kod napisan prema Win32 pravilima, ali se izvorno kompajlira i pokreće u... Windows, Linux и macOS.

Biblioteka je napisana u striktnom C++98 jeziku radi maksimalne prenosivosti, ali izvozi čiste C89 zaglavne datoteke, osiguravajući unatrag kompatibilnost i omogućavajući jednostavno povezivanje s Rustom, Zigom, Pythonom i drugim jezicima putem C FFI-ja. Trenutno su dostupna dva backenda: SDL2 i SDL3. Backendi za XLib i Wayland planirani su za budućnost.

Autor ne postavlja cilj da oponaša sve mogućnosti Windows i fokusira se samo na multimedijalne i engine podsisteme. Trenutno je implementirano 5 Kernel32.dll funkcija (upravljanje modulima, sistemsko vrijeme i latencija), 25 User32.dll funkcija (kreiranje prozora, petlje poruka, pozicija kursora i rukovanje ulazom), 5 Gdi32.dll funkcija (odabir formata piksela, izlaz bitmape i prebacivanje bafera) i 4 Opengl32.dll funkcije (kreiranje, brisanje i aktiviranje WGL konteksta).



izvor: opennet.ru
Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster