awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

14 Repos

Awesome GitHub RepositoriesNative Header Generators

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.

Awesome Native Header Generators GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • swiftlang/swift-evolutionAvatar von swiftlang

    swiftlang/swift-evolution

    15,854Auf GitHub ansehen↗

    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.

    Markdown
    Auf GitHub ansehen↗15,854
  • shirou/gopsutilAvatar von shirou

    shirou/gopsutil

    11,866Auf GitHub ansehen↗

    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.

    Gogogolangsystem-information
    Auf GitHub ansehen↗11,866
  • nasa/fprimeAvatar von nasa

    nasa/fprime

    10,766Auf GitHub ansehen↗

    F Prime ist ein komponentenbasiertes Framework für die Entwicklung und Bereitstellung von Embedded- und Raumfahrtsoftware. Es bietet eine modulare Architektur, die Softwarelogik von Kommunikationsschnittstellen entkoppelt und es Entwicklern ermöglicht, Systemstrukturen über eine domänenspezifische Modellierungssprache zu definieren. Dieser modellbasierte Ansatz ermöglicht eine automatisierte Codegenerierung, die Konsistenz über komplexe Systemtopologien hinweg gewährleistet und gleichzeitig strikte Schnittstellenverträge zwischen Softwaremodulen aufrechterhält. Das Framework zeichnet sich durch sein integriertes Build-System und eine Suite für Bodendatenoperationen aus. Es automatisiert den gesamten Lebenszyklus von Embedded-Software, von der Cross-Kompilierung und dem Abhängigkeitsmanagement bis hin zur Generierung von Telemetrie- und Befehlsschnittstellen. Durch die Bereitstellung einer einheitlichen Umgebung für Onboard-Flugsoftware und bodengestützte Überwachung erleichtert es die nahtlose Integration, das Testen sowie die Steuerung und Überwachung verteilter Embedded-Systeme über verschiedene Hardwareplattformen hinweg. Über die Kernarchitektur hinaus enthält das Projekt umfassende Werkzeuge für die Systembeobachtbarkeit, einschließlich Echtzeit-Telemetrie-Visualisierung, Ereignisprotokollierung und diagnostischer Tracing-Funktionen. Es unterstützt eine breite Palette von Bereitstellungsszenarien, von Bare-Metal-Umgebungen bis hin zu Echtzeitbetriebssystemen, und bietet Mechanismen für Speicherverwaltung, zustandsgesteuerte Verhaltensmodellierung und asynchrone Aufgabenausführung. Das Projekt wird als C++-Repository mit umfangreicher Dokumentation und Build-System-Unterstützung für die plattformübergreifende Entwicklung gepflegt.

    Creates header files automatically from component definitions to ensure consistent interface declarations.

    C++componentscppembedded
    Auf GitHub ansehen↗10,766
  • jetbrains/kotlin-nativeAvatar von JetBrains

    JetBrains/kotlin-native

    6,982Auf GitHub ansehen↗

    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.

    Kotlinccompilerkotlin
    Auf GitHub ansehen↗6,982
  • swig/swigAvatar von swig

    swig/swig

    6,294Auf GitHub ansehen↗

    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.

    SWIG
    Auf GitHub ansehen↗6,294
  • nanopb/nanopbAvatar von nanopb

    nanopb/nanopb

    5,437Auf GitHub ansehen↗

    Nanopb ist eine leichtgewichtige C-Implementierung von Protocol Buffers, die für ressourcenbeschränkte Systeme und Mikrocontroller entwickelt wurde. Sie fungiert sowohl als eingebettete Serialisierungsbibliothek zum Enkodieren und Dekodieren strukturierter Daten als auch als Codegenerator, der Definitionsdateien in kompakte C-Quell- und Header-Dateien umwandelt. Das Projekt zeichnet sich durch seinen Fokus auf statische Speicherallokation aus und verwendet feste Maximalgrößen für Strings und Arrays, um dynamische Speicherallokation und Heap-Fragmentierung zu vermeiden. Es setzt einen Callback-basierten Streaming-Mechanismus ein, um Nachrichten oder Felder zu verarbeiten, die den verfügbaren physischen RAM überschreiten, was die Handhabung von Daten variabler Länge ermöglicht, ohne den Systemspeicher zu erschöpfen. Die Bibliothek bietet breite Funktionen für Binärserialisierung, einschließlich Berechnung der enkodierten Größe, Verfolgung der Präsenz von Sub-Messages und Transport-Level-Framing. Sie enthält zudem Reflexions-Utilities für Feld-Iterationen, UTF-8-String-Validierung und strikte Grenzwerterzwingung, um Speichersicherheit beim Parsen nicht vertrauenswürdiger Binäreingaben zu gewährleisten.

    Generates C header files to enable typed message handling in resource-constrained embedded projects.

    C
    Auf GitHub ansehen↗5,437
  • progrium/darwinkitAvatar von progrium

    progrium/darwinkit

    5,428Auf GitHub ansehen↗

    Darwinkit ist eine Cgo-Interop-Schicht und eine Bibliothek nativer Bindings, die es Go-Anwendungen ermöglicht, Apple-Frameworks und System-APIs aufzurufen. Es fungiert als Brücke zwischen der Go-Runtime und nativen C-kompatiblen Symbolen, um die macOS-Systemprogrammierung und die Entwicklung nativer Anwendungen zu erleichtern. Das Projekt enthält einen Objective-C-Binding-Generator, der System-Symbol-Datenbanken scannt, um Go-Quellcode und Konstanten zu erzeugen. Dieses Tool ermöglicht die Inspektion von Framework-Symbolen und die Verwaltung von Binding-Modulen, um aktuelle Schnittstellen zu nativen Frameworks zu pflegen. Die Bibliothek bietet ein Speicherverwaltungssystem zur Koordinierung nativer Objekt-Lebenszyklen innerhalb von Go. Dies umfasst die Verwendung von Referenzzählung, die Erstellung von Autorelease-Pools zur Handhabung verzögerter Objekte und die Anwendung von Finalizern, um Speicherlecks zu verhindern. Zudem unterstützt es die direkte Interaktion mit dem Betriebssystem durch Direct-Binding-Systemaufrufe und Anfragen für Kernel-Informationen.

    Provides a generator that scans system symbol databases to produce Go source code and constants for native frameworks.

    Goappkitappleapple-apis
    Auf GitHub ansehen↗5,428
  • rust-lang/rust-bindgenAvatar von rust-lang

    rust-lang/rust-bindgen

    5,212Auf GitHub ansehen↗

    Rust-bindgen ist ein Build-Time-Generator für Foreign Function Interface (FFI)-Bindings und ein C-Header-Parser, der entwickelt wurde, um die Interoperabilität zwischen Sprachen zu automatisieren. Er fungiert als Tool, um Rust mit C-, C++- und Objective-C-Bibliotheken zu verbinden, indem er während des Kompilierungsprozesses plattformspezifische Deklarationen erstellt. Das Projekt zeichnet sich durch seine Fähigkeit aus, komplexe Sprachkonstrukte der C-Familie zu verarbeiten, einschließlich C++-Vererbung und -Methoden sowie Objective-C-Klassen und -Protokolle. Es stellt die binäre Kompatibilität über verschiedene Architekturen hinweg sicher, indem es zielspezifische Speicherlayouts berechnet und validiert, dass die generierten Strukturgrößen und Alignments mit den ursprünglichen Quelldefinitionen übereinstimmen. Das Tool bietet umfangreiches Typ-Mapping für C-Unions, Bitfields und flexible Array-Member, während nicht übersetzbare oder komplexe Standardbibliothekstypen auf opake Byte-Blobs abgebildet werden. Es enthält ein Konfigurationssystem zum Filtern von Bindings, zum Ersetzen komplexer Typen und zur Steuerung der Trait-Ableitung oder Feldsichtbarkeit. Generierte Bindings können extrahierte Dokumentationen aus System-Headern enthalten und werden durch einen Standard-Formatter verarbeitet, um ein konsistentes Code-Styling sicherzustellen.

    Creates FFI definitions from Objective-C headers by mapping classes to structs and protocols to traits.

    Rustbindingscodegenffi
    Auf GitHub ansehen↗5,212
  • lwjgl/lwjgl3Avatar von LWJGL

    LWJGL/lwjgl3

    5,269Auf GitHub ansehen↗

    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.

    Javabindingsfmodfreetype
    Auf GitHub ansehen↗5,269
  • dotnet/silk.netAvatar von dotnet

    dotnet/Silk.NET

    4,907Auf GitHub ansehen↗

    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.

    C#3daudiocsharp
    Auf GitHub ansehen↗4,907
  • bytedeco/javacppAvatar von bytedeco

    bytedeco/javacpp

    4,697Auf GitHub ansehen↗

    JavaCPP ist eine JNI-C++-Brücke und ein Foreign Function Interface, das einen Binding-Generator, einen Native-Library-Loader und einen Native-Memory-Manager bereitstellt. Es automatisiert die Erstellung von Java-Wrappern um native C++-Header und Shared-Libraries, um Interoperabilität zwischen beiden Sprachen zu ermöglichen. Das Projekt bietet einen C++-Binding-Generator, der Header-Dateien parst, um automatisch den notwendigen Glue-Code und die Interfaces für den Aufruf nativer Funktionen zu produzieren. Es enthält einen Native-Library-Loader, der plattformspezifische Binärdateien vom Classpath in einen lokalen Cache für die Laufzeitausführung lokalisiert und extrahiert. Das System verwaltet hochperformanten nativen Speicherzugriff durch direktes Pointer-Mapping und Ressourcen-Tracking, um Memory-Leaks zu verhindern. Es handhabt komplexes Type-Mapping für C++-Datenstrukturen und unterstützt natives Callback-Mapping, um Funktionszeiger mit Java-Methoden zu verknüpfen. Das Toolset ermöglicht den Ersatz verwalteter Methoden durch C++- oder Assembly-Implementierungen, um die Ausführungszeit zu optimieren und den Ressourcen-Overhead zu reduzieren.

    Parses C++ header files to automatically generate Java wrapper classes and the corresponding JNI glue code.

    Javacc-plus-pluscpp
    Auf GitHub ansehen↗4,697
  • eliben/pycparserAvatar von eliben

    eliben/pycparser

    3,473Auf GitHub ansehen↗

    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.

    Python
    Auf GitHub ansehen↗3,473
  • wxwidgets/phoenixAvatar von wxWidgets

    wxWidgets/Phoenix

    2,618Auf GitHub ansehen↗

    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.

    Pythonawesomecross-platformgui
    Auf GitHub ansehen↗2,618
  • intel/llvmAvatar von intel

    intel/llvm

    1,497Auf GitHub ansehen↗

    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.

    LLVMintelllvmoneapi
    Auf GitHub ansehen↗1,497
  1. Home
  2. Programming Languages & Runtimes
  3. Language Interoperability
  4. Native C Interoperability
  5. C Function Bindings
  6. Native Header Generators

Unter-Tags erkunden

  • C Header Binding Generators4 Sub-TagsTools that parse C headers to automatically generate type-safe language bindings. **Distinct from Native Header Generators:** Generates the final language bindings from headers, whereas native header generators often create C headers for other languages.
  • C Header-to-Java Binding GeneratorsTools that parse native C headers to automatically produce Java JNI bindings with type conversions. **Distinct from Native Header Generators:** Distinct from Native Header Generators: generates Java bindings from C headers, not C++ header files for Rust.
  • Native Header ProcessorsTools that parse system header files to generate native type definitions for cross-platform compatibility. **Distinct from Native Header Generators:** Distinct from Native Header Generators: focuses on parsing headers to derive type definitions for system-level consistency rather than just generating bindings for external code.