2 مستودعات
Extracting data from raw pointers and serializing values into buffers for native consumption.
Distinct from Native Buffer Transfers: Focuses on the direct manipulation and extraction of data from raw pointers, beyond just zero-copy transfers.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Pointer-Based Memory Access. Refine with filters or upvote what's useful.
node-ffi هي مكتبة واجهة دالة خارجية (Foreign Function Interface) لـ Node.js تتيح استدعاء الدوال من مكتبات C الديناميكية الأصلية دون الحاجة لكتابة روابط C++ يدوية. تعمل كنظام لتحميل الكائنات المشتركة (shared objects) وملفات DLL في ذاكرة العملية، وتحويل قيم JavaScript إلى تمثيلات ثنائية، وتنفيذ الملفات الثنائية الخارجية في وقت التشغيل. يستخدم المشروع غلافاً حول مكتبة libffi لبناء إطارات الاستدعاء وتنفيذ الدوال الأصلية بمدخلات ديناميكية. يتميز بتوفير مدير ذاكرة أصلي لتخصيص المؤشرات الخام ونظام تعيين يربط هياكل C المعقدة بكائنات JavaScript. تغطي مجموعة الأدوات نطاقاً واسعاً من قدرات التوافقية الأصلية، بما في ذلك التحويل التلقائي لأنواع البيانات وإنشاء كتل ذاكرة قابلة للتنفيذ تسمح للمكتبات الأصلية بتشغيل دوال رد النداء (callbacks) في JavaScript. وللحفاظ على استجابة الخيط الرئيسي، يدعم المشروع نموذج تنفيذ غير متزامن يقوم بنقل استدعاءات الدوال الأصلية إلى مجموعة خيوط منفصلة.
Implements direct manipulation and extraction of data from raw pointers to handle C structs across the language boundary.
Janet هي لغة برمجة ديناميكية قائمة على Lisp تتميز بآلة افتراضية bytecode قائمة على السجلات ومحرك برمجة نصية قابل للتضمين. تعمل كوقت تشغيل تزامن قائم على الألياف (fiber) وتتضمن محرك تحليل قائماً على قواعد التعبير التحليلي (Parsing Expression Grammars). يتميز المشروع بقدرته على الاندماج في تطبيقات C أو C++ عبر واجهة رأس (header) بسيطة. يستخدم نظام ماكرو على طراز Lisp لتحويل الكود في وقت التجميع ويستخدم وراثة الجدول القائمة على النموذج (prototype-based) للسلوك الموجه للكائنات. يغطي وقت التشغيل مجموعة واسعة من القدرات، بما في ذلك إدارة IO غير المتزامنة من خلال حلقة أحداث غير محظورة، وتوافقية المكتبة الأصلية عبر واجهة دالة خارجية، ومعالجة نصوص شاملة باستخدام قواعد PEG. كما يوفر أدوات لأتمتة النظام، مثل حلقة القراءة-التقييم-الطباعة (REPL)، ونظام وحدة لحل الرموز، وأدوات مساعدة لاتصال مقبس الشبكة وإدارة نظام الملفات. تتضمن البيئة أدوات تشخيص لتصحيح أخطاء تنفيذ الـ bytecode ويمكنها تجميع كود المصدر في ملفات تنفيذية ثنائية مستقلة.
Allows serializing values into buffers and extracting data directly from raw pointers for native consumption.