مكتبة WinCore لتشغيل برامج Win32 في Linux и macOS

يقوم مشروع WinCore بتطوير طبقة توافق مع Win32/WGL، مما يسمح بتجميع التعليمات البرمجية. Windows- برامج مكتوبة بلغة C/C++ باستخدام واجهة برمجة تطبيقات Win32 الكلاسيكية، لتشغيلها في Linux и macOSيعترض WinCore معالجات Win32 الكلاسيكية ويستخدم واجهات خلفية متعددة المنصات للعرض عبر SDL3 أو SDL2. الكود مكتوب بلغة C++ وموزع بموجب ترخيص LGPLv3.

كان المشروع ثمرة إعادة نظر في مكتبة LDL من قِبل المؤلف نفسه، الذي خلص إلى أنه بدلاً من تصميم واجهة برمجة تطبيقات أخرى، من المنطقي أكثر أخذ واجهة برمجة تطبيقات Win32 الإجرائية المجربة وجعلها قابلة للنقل عبر أنظمة تشغيل وأجهزة مختلفة. الفكرة هي أن الكود مكتوب وفقًا لقواعد Win32، ولكنه يُترجم ويُنفذ بشكل أصلي في بيئة Win32. Windows, Linux и macOS.

كُتبت المكتبة بلغة C++98 الصارمة لضمان أقصى قدر من قابلية النقل، ولكنها تُصدّر ملفات رأسية بلغة C89 خالصة، مما يضمن التوافق مع الإصدارات السابقة ويُسهّل ربطها بلغات Rust وZig وPython وغيرها عبر واجهة C الخارجية (FFI). يتوفر حاليًا نظامان خلفيان: 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