ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° WinCore для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Win32-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Linux ΠΈ macOS

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ WinCore Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ слой совмСстимости с Win32/WGL, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Windows-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанный Π½Π° C/C++ с использованиСм классичСского API Win32, для запуска Π² Linux ΠΈ macOS. WinCore ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ классичСскиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Win32 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ бэкСнды для отрисовки Ρ‡Π΅Ρ€Π΅Π· SDL3 ΠΈΠ»ΠΈ SDL2. Код написан Π½Π° C++ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPLv3.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ стал Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ пСрСосмыслСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ LDL, Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ вмСсто проСктирования ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ API, Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ Π²Π·ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ интСрфСйс Win32 API ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ пСрСносимым Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ОБ ΠΈ устройства. ИдСя Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Win32, Π½ΠΎ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ компилируСтся ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows, Linux ΠΈ macOS.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° написана Π½Π° строгом C++98 для максимальной пСрСносимости, Π½ΠΎ экспортируСт чистыС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ C89, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ ΠΊ Rust, Zig, Python ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам Ρ‡Π΅Ρ€Π΅Π· C FFI. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 2 бэкСнда β€” SDL2 ΠΈ SDL3. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ планируСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ бэкСнды для XLib ΠΈ Wayland.

Автор Π½Π΅ ставит Ρ†Π΅Π»ΠΈ, ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС возмоТности Windows ΠΈ фокусируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° подсистСмах для ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ². Π’ настоящСС врСмя Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ 5 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Kernel32.dll (ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ модулями, систСмноС врСмя ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ), 25 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ User32.dll (созданиС ΠΎΠΊΠΎΠ½, Ρ†ΠΈΠΊΠ»Ρ‹ сообщСний, позиция курсора ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π²ΠΎΠ΄Π°), 5 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Gdi32.dll (Π²Ρ‹Π±ΠΎΡ€ пиксСльного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π²Ρ‹Π²ΠΎΠ΄ Π±ΠΈΡ‚ΠΌΠ°ΠΏΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ²) ΠΈ 4 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Opengl32.dll (созданиС, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ активация контСкстов WGL).



Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru
ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster