ไลบรารี WinCore สำหรับเรียกใช้โปรแกรม Win32 ใน Linux и macOS

โครงการ WinCore พัฒนาเลเยอร์ความเข้ากันได้กับ Win32/WGL ซึ่งช่วยให้สามารถคอมไพล์โค้ดได้ Windows-โปรแกรมที่เขียนด้วยภาษา C/C++ โดยใช้ Win32 API แบบคลาสสิก เพื่อเรียกใช้งานใน Linux и macOSWinCore ดักจับแฮนด์เลอร์ Win32 แบบคลาสสิก และใช้แบ็กเอนด์ข้ามแพลตฟอร์มสำหรับการเรนเดอร์ผ่าน SDL3 หรือ SDL2 โค้ดเขียนด้วยภาษา C++ และเผยแพร่ภายใต้ใบอนุญาต LGPLv3

โครงการนี้เป็นผลมาจากการทบทวนแนวคิดของไลบรารี LDL โดยผู้เขียนคนเดียวกัน ซึ่งสรุปว่าแทนที่จะออกแบบ API ใหม่ทั้งหมด การนำ API แบบขั้นตอนการทำงานของ Win32 ที่ได้รับการพิสูจน์แล้วมาปรับใช้ให้สามารถใช้งานได้กับระบบปฏิบัติการและอุปกรณ์ต่างๆ นั้นดูสมเหตุสมผลกว่า แนวคิดก็คือ โค้ดถูกเขียนตามกฎของ Win32 แต่สามารถคอมไพล์และรันได้โดยตรงในระบบ Windows, Linux и macOS.

ไลบรารีนี้เขียนด้วยภาษา C++98 อย่างเคร่งครัด เพื่อให้สามารถพกพาได้สูงสุด แต่ส่งออกไฟล์เฮดเดอร์ C89 บริสุทธิ์ ทำให้มั่นใจได้ถึงความเข้ากันได้กับเวอร์ชันก่อนหน้า และช่วยให้สามารถเชื่อมต่อกับ Rust, Zig, Python และภาษาอื่นๆ ได้อย่างง่ายดายผ่านทาง C FFI ปัจจุบันมีแบ็กเอนด์ให้เลือกใช้สองแบบ คือ SDL2 และ SDL3 ส่วนแบ็กเอนด์สำหรับ XLib และ Wayland นั้นมีแผนจะเพิ่มในอนาคต

ผู้เขียนไม่ได้ตั้งเป้าหมายที่จะเลียนแบบความเป็นไปได้ทั้งหมด Windows และมุ่งเน้นเฉพาะระบบย่อยมัลติมีเดียและระบบประมวลผลภาพเท่านั้น ปัจจุบัน มีการใช้งานฟังก์ชัน Kernel32.dll จำนวน 5 ฟังก์ชัน (การจัดการโมดูล เวลาของระบบ และความหน่วง) ฟังก์ชัน User32.dll จำนวน 25 ฟังก์ชัน (การสร้างหน้าต่าง ลูปข้อความ ตำแหน่งเคอร์เซอร์ และการจัดการอินพุต) ฟังก์ชัน Gdi32.dll จำนวน 5 ฟังก์ชัน (การเลือกรูปแบบพิกเซล การส่งออกบิตแมป และการสลับบัฟเฟอร์) และฟังก์ชัน Opengl32.dll จำนวน 4 ฟังก์ชัน (การสร้าง การลบ และการเปิดใช้งานบริบท WGL)



ที่มา: opennet.ru
ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster