14 مستودعات
Tools for generating header files from modules to allow external code to interact with native types.
Distinct from C Function Bindings: Distinct from C Function Bindings: focuses on header generation for C++ interoperability rather than just function mapping.
Explore 14 awesome GitHub repositories matching programming languages & runtimes · Native Header Generators. Refine with filters or upvote what's useful.
Swift Evolution serves as the central governance and design platform for the Swift programming language. It provides a structured, collaborative framework for tracking, discussing, and managing the formal proposals and technical goals that define the language's syntax, semantics, and core features. By maintaining a comprehensive collection of design documentation, the project ensures the long-term stability and consistency of the language as it matures. The repository acts as the primary hub for the language's evolution, coordinating community feedback and technical decisions through a transp
Generates header files from modules to allow external code to call functions and interact with native types.
This library provides a cross-platform toolkit for retrieving system metrics and managing processes. It functions as a unified interface for accessing low-level hardware and operating system data, allowing developers to monitor CPU, memory, disk, and network usage across diverse computing architectures without requiring external dependencies. The project distinguishes itself through its ability to maintain consistent data structures across different operating systems by parsing native system headers and wrapping low-level system calls. It includes specialized support for containerized environ
Generates native type definitions by parsing system header files to ensure consistent data structures across diverse hardware architectures.
F Prime هو إطار عمل قائم على المكونات مصمم لتطوير ونشر البرمجيات المدمجة وبرمجيات الطيران الفضائي. يوفر بنية معيارية تفصل منطق البرمجيات عن واجهات الاتصال، مما يسمح للمطورين بتحديد هياكل النظام من خلال لغة نمذجة خاصة بالمجال. يتيح هذا النهج القائم على النماذج توليد الكود آلياً، مما يضمن الاتساق عبر طوبولوجيا النظام المعقدة مع الحفاظ على عقود واجهة صارمة بين وحدات البرمجيات. يتميز إطار العمل بنظام بناء متكامل ومجموعة عمليات بيانات أرضية. فهو يقوم بأتمتة دورة حياة البرمجيات المدمجة بالكامل، بدءاً من التجميع المتقاطع وإدارة التبعيات وصولاً إلى توليد واجهات القياس عن بُعد والأوامر. من خلال توفير بيئة موحدة لكل من برمجيات الطيران الموجودة على متن المركبة والمراقبة الأرضية، فإنه يسهل التكامل والاختبار والتحكم في الأنظمة المدمجة الموزعة عبر منصات أجهزة متنوعة. بالإضافة إلى بنيته الأساسية، يتضمن المشروع أدوات شاملة لمراقبة النظام، بما في ذلك تصور القياس عن بُعد في الوقت الفعلي، وتسجيل الأحداث، وتتبع التشخيص. وهو يدعم مجموعة واسعة من سيناريوهات النشر، من بيئات الأجهزة الخام (bare-metal) إلى أنظمة التشغيل في الوقت الفعلي، ويوفر آليات لإدارة الذاكرة، ونمذجة السلوك القائم على الحالة، وتنفيذ المهام غير المتزامنة. يتم صيانة المشروع كمستودع C++ مع توثيق شامل ودعم لنظام البناء من أجل التطوير عبر المنصات.
Creates header files automatically from component definitions to ensure consistent interface declarations.
Kotlin-native is an ahead-of-time, cross-platform compiler and toolchain that transforms Kotlin source code into standalone native machine binaries. It functions as an LLVM native compiler, producing executable files that run directly on hardware without the requirement of a virtual machine. The project enables cross-platform native development across multiple operating systems and processor architectures, including iOS, Linux, and Windows. This allows for the creation of native Apple platform applications and software for embedded systems programming where direct memory management and minima
Provides tools to parse C headers and automatically generate type-safe language bindings for native interoperability.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Produces Java Native Interface wrappers allowing Java applications to invoke C/C++ library routines.
Nanopb هو تنفيذ C خفيف الوزن لـ Protocol Buffers مصمم للأنظمة محدودة الموارد والمتحكمات الدقيقة. يعمل كمكتبة تسلسل مضمنة لتشفير وفك تشفير البيانات المهيكلة ومولد كود يحول ملفات التعريف إلى ملفات مصدر ورأس C مدمجة. يتميز المشروع بتركيزه على تخصيص الذاكرة الثابت، باستخدام أحجام قصوى ثابتة للسلاسل والمصفوفات لتجنب تخصيص الذاكرة الديناميكي وتجزئة الكومة (Heap fragmentation). يستخدم آلية بث تعتمد على الاستدعاء (Callback) لمعالجة الرسائل أو الحقول التي تتجاوز ذاكرة الوصول العشوائي المتاحة، مما يسمح بالتعامل مع البيانات ذات الطول المتغير دون استنفاد ذاكرة النظام. توفر المكتبة قدرات واسعة للتسلسل الثنائي، بما في ذلك حساب الحجم المشفر، وتتبع وجود الرسائل الفرعية، والتأطير على مستوى النقل. كما تتضمن أدوات انعكاس لتكرار الحقول، والتحقق من صحة سلسلة UTF-8، وفرض الحدود الصارمة لضمان سلامة الذاكرة عند تحليل المدخلات الثنائية غير الموثوقة.
Generates C header files to enable typed message handling in resource-constrained embedded projects.
Darwinkit هو طبقة توافقية (interop) لـ Cgo ومكتبة من الروابط الأصلية التي تسمح لتطبيقات Go باستدعاء أطر عمل Apple وواجهات برمجة تطبيقات النظام. يعمل كجسر بين وقت تشغيل Go والرموز الأصلية المتوافقة مع C لتسهيل برمجة نظام macOS وتطوير التطبيقات الأصلية. يتضمن المشروع مولد روابط Objective-C يقوم بمسح قواعد بيانات رموز النظام لإنتاج كود مصدر Go وثوابت. تمكن هذه الأداة من فحص رموز إطار العمل وإدارة وحدات الربط للحفاظ على واجهات حالية مع أطر العمل الأصلية. توفر المكتبة نظام إدارة ذاكرة لتنسيق دورات حياة الكائنات الأصلية داخل Go. يغطي هذا استخدام عد المراجع، وإنشاء مجموعات التحرير التلقائي (autorelease pools) للتعامل مع الكائنات المؤجلة، وتطبيق المنتهيات (finalizers) لمنع تسرب الذاكرة. كما يدعم التفاعل المباشر مع نظام التشغيل من خلال استدعاءات النظام ذات الربط المباشر وطلبات معلومات النواة.
Provides a generator that scans system symbol databases to produce Go source code and constants for native frameworks.
Rust-bindgen هو مولد ربط واجهة وظيفة خارجية (FFI) في وقت البناء ومحلل ترويسات C مصمم لأتمتة التوافق بين اللغات. يعمل كأداة لربط Rust بمكتبات C و C++ و Objective-C عن طريق إنتاج إعلانات خاصة بالمنصة أثناء عملية التجميع. يتميز المشروع بقدرته على التعامل مع هياكل لغة عائلة C المعقدة، بما في ذلك الوراثة والطرق في C++، بالإضافة إلى فئات وبروتوكولات Objective-C. يضمن التوافق الثنائي عبر بنيات مختلفة عن طريق حساب تخطيطات الذاكرة المدركة للهدف والتحقق من أن أحجام الهياكل والمحاذاة الناتجة تتطابق مع تعريفات المصدر الأصلية. توفر الأداة تعيين أنواع واسع النطاق لاتحادات C، وحقول البت، وأعضاء المصفوفة المرنة، مع تعيين أنواع المكتبة القياسية غير القابلة للترجمة أو المعقدة إلى كتل بايت مبهمة. تتضمن نظام تكوين لتصفية الروابط، واستبدال الأنواع المعقدة، والتحكم في اشتقاق السمات أو رؤية الحقول. يمكن أن تتضمن الروابط التي تم إنشاؤها توثيقاً مستخرجاً من ترويسات النظام وتتم معالجتها من خلال منسق قياسي لضمان تنسيق كود متسق.
Creates FFI definitions from Objective-C headers by mapping classes to structs and protocols to traits.
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
Ships a tool that parses C headers to auto-generate Java native bindings and JNI wrappers.
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
Includes a pipeline that automates the creation of language bindings by parsing C headers into metadata and syntax trees.
JavaCPP هو جسر JNI C++ وواجهة وظائف خارجية توفر مولد ربط، ومحمل مكتبة أصلية، ومدير ذاكرة أصلية. يقوم بأتمتة إنشاء أغلفة Java حول رؤوس C++ الأصلية والمكتبات المشتركة لتمكين التوافق بين اللغتين. يتميز المشروع بمولد ربط C++ يحلل ملفات الرأس لإنتاج كود الغراء والواجهات اللازمة لاستدعاء الوظائف الأصلية تلقائياً. يتضمن محمل مكتبة أصلية يحدد ويستخرج الملفات الثنائية الخاصة بالمنصة من مسار الفئة (classpath) إلى ذاكرة تخزين مؤقت محلية للتنفيذ في وقت التشغيل. يدير النظام الوصول إلى الذاكرة الأصلية عالية الأداء من خلال تعيين المؤشر المباشر وتتبع الموارد لمنع تسرب الذاكرة. يتعامل مع تعيين الأنواع المعقدة لهياكل بيانات C++ ويدعم تعيين رد الاتصال الأصلي لربط مؤشرات الوظائف بطرق Java. تسمح مجموعة الأدوات باستبدال الطرق المدارة بتنفيذات C++ أو التجميع لتحسين وقت التنفيذ وتقليل حمل الموارد.
Parses C++ header files to automatically generate Java wrapper classes and the corresponding JNI glue code.
pycparser is a C99 parser library that converts C source code into an abstract syntax tree consisting of Python objects. It functions as an abstract syntax tree generator, transforming preprocessed C code into a structured hierarchy for programmatic analysis and transformation. The library integrates with a C preprocessor to handle directives before parsing. It also features a stub header parser, which uses minimal mock headers to allow the parsing of C code without requiring a full system C library installation. The project provides tools for static code analysis, C program analysis, and so
Provides minimal stub headers to enable parsing of C source code without a full system library installation.
Phoenix is a cross-platform Python framework designed for building native desktop graphical user interfaces. It functions as a language binding generator and build automation system, enabling developers to create applications that utilize the underlying operating system's native controls and visual styles. The project provides a mechanism for mapping native C++ graphical toolkit components to Python, allowing for the development of desktop
Automatically generates header-based bindings to map native C++ objects into Python interfaces.
The project is a reusable collection of modular compiler and toolchain technologies designed for building optimizers, code generators, and multi-language programming environments. It provides foundational compiler frontend technologies that translate source code written in C, C++, and Objective-C into a low-level programming language and intermediate code format. This intermediate representation enables cross-language analysis, program transformation, and target-independent optimization alongside a cross-platform programming framework that allows developers to write single-source accelerated a
Automatically generates C and C++ header files and Python modules from interface definitions to streamline cross-language integration.