11 مستودعات
Tools that automatically generate language-specific bindings from C API metadata.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Binding Generators. Refine with filters or upvote what's useful.
هذا المشروع عبارة عن مكتبة واجهة مستخدم رسومية ذات وضع فوري مصممة للتطوير السريع للأدوات وواجهات التصحيح. من خلال إنشاء هندسة واجهة المستخدم في كل إطار عبر كود إجرائي، فإنه يلغي الحاجة إلى مزامنة الحالة المستمرة بين بيانات التطبيق والواجهة. وهي مخصصة في المقام الأول للتكامل في خطوط أنابيب العرض الحالية، حيث تنتج مخازن رؤوس خام وأوامر رسم لا تعتمد على واجهة برمجة تطبيقات الرسومات الأساسية. تتميز المكتبة ببنية مفككة للغاية تدعم تخطيطات معقدة وقابلة للإرساء ومتعددة المنافذ. وهي تدير مواضع النوافذ، وسحب علامات التبويب، وتقسيم العقد، مما يسمح للمطورين بفصل عناصر الواجهة إلى نوافذ نظام تشغيل مستقلة. لضمان تفاعل متسق عبر بيئات متنوعة، تقوم بتعيين أحداث الإدخال الأصلية إلى تنسيق موحد وتوفر نطاقاً قوياً قائماً على المعرف لتتبع حالات العناصر عبر الإطارات. يوفر إطار العمل سطح قدرة واسع لبناء أدوات محرك متطورة ومرافق تشخيصية. وهو يتضمن دعماً للمكونات المرئية المتقدمة مثل محرري العقد، وراسمات 2D و 3D، والمفتشين المتخصصين، إلى جانب البنية التحتية لتحجيم DPI وعرض الأشكال المخصصة. تم تصميم النظام لقابلية نقل عالية، ويتميز بخيارات تكوين وقت التجميع التي تسمح للمطورين بتكييف هياكل البيانات الأساسية والأنواع الرياضية لمتطلبات محرك محددة. يوفر المستودع أمثلة واسعة النطاق لربط المكتبة بخلفيات وأطر عمل الرسومات الرئيسية، إلى جانب أدوات لتوليد ارتباطات خاصة باللغة.
Exposes C API metadata to facilitate the automated creation of language-specific wrappers and bindings.
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
Generates cross-language bindings and headers to facilitate stable integration between different programming environments.
This is a comprehensive library of code examples and reference implementations for building cross-platform user interfaces with Flutter. The project provides a collection of demo applications and guides designed to illustrate the implementation of design patterns, animation techniques, and testing workflows. The repository features specific demonstrations for native integration, including examples of embedding modules into existing native applications, using platform channels, and bridging native code with the framework. It also serves as an animation reference, providing implementations for
Creates bindings for native APIs to enable direct calls to platform-specific code.
CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types
Uses code generation to produce efficient bindings that enforce invariants from both languages at compile time.
The Go Mobile project is a framework and toolchain that enables Go developers to build native mobile applications for Android and iOS entirely in Go, or to compile Go packages into shared libraries that can be called from existing native mobile apps. It provides a complete set of libraries for handling mobile app lifecycle events, rendering 2D and 3D graphics through OpenGL ES, accessing device sensors like accelerometers and gyroscopes, processing touch and keyboard input, playing audio via OpenAL Soft, and reading bundled application assets. The project distinguishes itself by offering two
Exposes Go packages as callable libraries for Java and Objective-C so existing apps can reuse Go code.
mlpack is a header-only C++ machine learning library that defines matrix types as compile-time templates, enabling flexible numeric precision and memory layout without runtime overhead. Its core identity is built around a template metaprogramming architecture that allows algorithms to be included selectively as independent modules, reducing binary size, and supports compile-time serialization of neural network parameters by deducing matrix types and structure at compile time. The library distinguishes itself through a multi-language binding framework that automatically generates bindings for
Automatically generates bindings for Python, R, Julia, Go, and the command line from a single C++ API definition.
Maturin is a build tool that compiles Rust crates into Python wheel packages, supporting multiple binding systems such as PyO3, CFFI, and UniFFI to create native extension modules. It manages the full build pipeline from Rust compilation to wheel assembly, including cross-compilation for different operating systems and architectures without requiring native hardware. The tool integrates development-mode installation with automatic rebuilds: when a Python import hook detects source changes, it triggers recompilation before the module loads. Editable installs link the compiled module into site-
Generates Python bindings from an interface definition file using UniFFI for cross-platform compatibility.
Rust-bindgen هو مولد ربط واجهة وظيفة خارجية (FFI) في وقت البناء ومحلل ترويسات C مصمم لأتمتة التوافق بين اللغات. يعمل كأداة لربط Rust بمكتبات C و C++ و Objective-C عن طريق إنتاج إعلانات خاصة بالمنصة أثناء عملية التجميع. يتميز المشروع بقدرته على التعامل مع هياكل لغة عائلة C المعقدة، بما في ذلك الوراثة والطرق في C++، بالإضافة إلى فئات وبروتوكولات Objective-C. يضمن التوافق الثنائي عبر بنيات مختلفة عن طريق حساب تخطيطات الذاكرة المدركة للهدف والتحقق من أن أحجام الهياكل والمحاذاة الناتجة تتطابق مع تعريفات المصدر الأصلية. توفر الأداة تعيين أنواع واسع النطاق لاتحادات C، وحقول البت، وأعضاء المصفوفة المرنة، مع تعيين أنواع المكتبة القياسية غير القابلة للترجمة أو المعقدة إلى كتل بايت مبهمة. تتضمن نظام تكوين لتصفية الروابط، واستبدال الأنواع المعقدة، والتحكم في اشتقاق السمات أو رؤية الحقول. يمكن أن تتضمن الروابط التي تم إنشاؤها توثيقاً مستخرجاً من ترويسات النظام وتتم معالجتها من خلال منسق قياسي لضمان تنسيق كود متسق.
Passes specific architecture arguments to the compiler to ensure generated bindings match a non-native target system.
LWJGL is a cross-platform library that provides Java bindings to native APIs for graphics, audio, compute, windowing, and input. It enables Java applications to access low-level hardware-accelerated capabilities such as OpenGL and Vulkan rendering, OpenAL 3D audio, OpenCL GPU compute, and GLFW windowing and input handling. Under the hood, LWJGL dynamically resolves native function pointers at runtime, loads platform-specific shared libraries, and uses generated JNI bindings to bridge Java and native code. It offers explicit memory management through direct buffer access and stack-allocated me
Provides a code generation tool that produces native bindings from interface definitions with automatic marshalling.
Silk.NET is a low-level API binding library for the .NET ecosystem that provides high-performance interfaces for graphics, audio, and input APIs. It consists of a C header binding generator that converts headers into type-safe language bindings, a graphics API interface for GPU compute and rendering, and a cross-platform windowing wrapper. The project utilizes a customizable pipeline to automate the generation of language bindings from C headers by mapping metadata to syntax trees. Its windowing and input abstraction provides a unified interface to manage application windows across different
Converts C headers into managed language bindings using a customizable pipeline to reduce manual boilerplate code.
ZealOS هو نظام تشغيل 64-بت مصمم للنشر على الأجهزة المعدنية (bare-metal) وتطوير النواة المخصصة. يوفر بيئة قائمة بذاتها تعمل ضمن نموذج ذاكرة ذي مساحة عنوان واحدة، حيث يتم تنفيذ جميع البرمجيات في مستوى امتياز الحلقة صفر (ring-zero) للقضاء على تبديل السياق وتسهيل التفاعل المباشر مع الأجهزة. يتميز النظام بمعمارية متجانسة تدمج التجميع في الوقت المناسب (JIT)، مما يسمح بترجمة الكود المصدري إلى تعليمات الآلة أثناء وقت التشغيل. يتجاوز النظام طبقات التجريد التقليدية باستخدام تعيين ذاكرة الأجهزة المباشر وإطار عرض (framebuffer) 32-بت لا يعتمد على الأجهزة لعرض الرسومات، مما يضمن تحكماً منخفض زمن الاستجابة في موارد النظام والمخرجات المرئية. تدعم المنصة مجموعة من مهام برمجة الأنظمة منخفضة المستوى، بما في ذلك التعامل مع أجهزة الإدخال الخام وتحديث معماريات الأجهزة القديمة. يتضمن النظام أدوات إدارية مثل متصفح نظام ملفات قائم على الويب ويحافظ على التوافق مع محملات الإقلاع الخارجية لتبسيط عملية التهيئة على الأجهزة المادية أو الافتراضية.
Executes all software at the highest processor privilege level to simplify inter-process communication and remove context switching overhead.