WinCore projesi, Win32/WGL ile uyumluluk katmanı geliştirerek kodun derlenmesini sağlar. Windows- Klasik Win32 API'sini kullanan C/C++ ile yazılmış ve çalıştırılacak programlar. Linux и macOSWinCore, klasik Win32 işleyicilerini yakalar ve SDL3 veya SDL2 aracılığıyla platformlar arası arka uçlar kullanarak görüntü oluşturur. Kod C++ dilinde yazılmıştır ve LGPLv3 lisansı altında dağıtılmaktadır.
Bu proje, aynı yazar tarafından LDL kütüphanesinin yeniden düşünülmesinin bir sonucuydu; yazar, yeni bir API tasarlamak yerine, zaman içinde kendini kanıtlamış Win32 prosedürel API'sini alıp farklı işletim sistemleri ve cihazlar arasında taşınabilir hale getirmenin daha mantıklı olduğuna karar verdi. Buradaki fikir, kodun Win32 kurallarına göre yazılması, ancak yerel olarak derlenmesi ve çalıştırılmasıdır. Windows, Linux и macOS.
Kütüphane, maksimum taşınabilirlik için tamamen C++98 ile yazılmıştır, ancak geriye dönük uyumluluğu sağlamak ve C FFI aracılığıyla Rust, Zig, Python ve diğer dillere kolayca bağlanmayı mümkün kılmak için saf C89 başlık dosyaları dışa aktarır. Şu anda iki arka uç mevcuttur: SDL2 ve SDL3. XLib ve Wayland için arka uçlar gelecekte planlanmaktadır.
Yazar, tüm olasılıkları taklit etmeyi hedeflememiştir. Windows ve yalnızca multimedya ve motor alt sistemlerine odaklanmaktadır. Şu anda 5 adet Kernel32.dll fonksiyonu (modül yönetimi, sistem saati ve gecikme), 25 adet User32.dll fonksiyonu (pencere oluşturma, mesaj döngüleri, imleç konumu ve giriş işleme), 5 adet Gdi32.dll fonksiyonu (piksel formatı seçimi, bitmap çıktısı ve arabellek değiştirme) ve 4 adet Opengl32.dll fonksiyonu (WGL bağlamlarının oluşturulması, silinmesi ve etkinleştirilmesi) uygulanmıştır.


Kaynak: opennet.ru
