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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

14 dépôts

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

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • swiftlang/swift-evolutionAvatar de swiftlang

    swiftlang/swift-evolution

    15,854Voir sur GitHub↗

    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
    Voir sur GitHub↗15,854
  • shirou/gopsutilAvatar de shirou

    shirou/gopsutil

    11,866Voir sur GitHub↗

    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
    Voir sur GitHub↗11,866
  • nasa/fprimeAvatar de nasa

    nasa/fprime

    10,766Voir sur GitHub↗

    F Prime est un framework basé sur des composants conçu pour le développement et le déploiement de logiciels embarqués et spatiaux. Il fournit une architecture modulaire qui découple la logique logicielle des interfaces de communication, permettant aux développeurs de définir des structures système via un langage de modélisation spécifique au domaine. Cette approche basée sur les modèles permet la génération automatique de code, garantissant la cohérence des topologies système complexes tout en maintenant des contrats d'interface stricts entre les modules logiciels. Le framework se distingue par son système de build intégré et sa suite d'opérations de données au sol. Il automatise l'intégralité du cycle de vie des logiciels embarqués, de la compilation croisée et la gestion des dépendances à la génération d'interfaces de télémétrie et de commande. En fournissant un environnement unifié pour les logiciels de vol embarqués et la surveillance au sol, il facilite l'intégration, les tests et le contrôle des systèmes embarqués distribués sur diverses plateformes matérielles. Au-delà de son architecture centrale, le projet inclut des outils complets pour l'observabilité du système, notamment la visualisation de télémétrie en temps réel, la journalisation d'événements et le traçage de diagnostic. Il prend en charge un large éventail de scénarios de déploiement, des environnements bare-metal aux systèmes d'exploitation temps réel, et fournit des mécanismes pour la gestion de la mémoire, la modélisation de comportement pilotée par les états et l'exécution de tâches asynchrones. Le projet est maintenu sous forme de dépôt C++ avec une documentation étendue et un support du système de build pour le développement multiplateforme.

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

    C++componentscppembedded
    Voir sur GitHub↗10,766
  • jetbrains/kotlin-nativeAvatar de JetBrains

    JetBrains/kotlin-native

    6,982Voir sur GitHub↗

    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
    Voir sur GitHub↗6,982
  • swig/swigAvatar de swig

    swig/swig

    6,294Voir sur GitHub↗

    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
    Voir sur GitHub↗6,294
  • nanopb/nanopbAvatar de nanopb

    nanopb/nanopb

    5,437Voir sur GitHub↗

    Nanopb est une implémentation C légère de Protocol Buffers conçue pour les systèmes aux ressources limitées et les microcontrôleurs. Il fonctionne à la fois comme une bibliothèque de sérialisation embarquée pour encoder et décoder des données structurées, et comme un générateur de code qui transforme les fichiers de définition en fichiers source et en-tête C compacts. Le projet se distingue par son accent sur l'allocation mémoire statique, utilisant des tailles maximales fixes pour les chaînes et les tableaux afin d'éviter l'allocation mémoire dynamique et la fragmentation du tas. Il emploie un mécanisme de streaming basé sur des callbacks pour traiter les messages ou les champs qui dépassent la RAM physique disponible, permettant la gestion de données de longueur variable sans épuiser la mémoire système. La bibliothèque fournit de larges capacités pour la sérialisation binaire, incluant le calcul de taille encodée, le suivi de présence des sous-messages et le framing au niveau transport. Elle inclut également des utilitaires de réflexion pour l'itération sur les champs, la validation de chaînes UTF-8 et l'application stricte des limites pour garantir la sécurité mémoire lors du parsing d'entrées binaires non fiables.

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

    C
    Voir sur GitHub↗5,437
  • progrium/darwinkitAvatar de progrium

    progrium/darwinkit

    5,428Voir sur GitHub↗

    Darwinkit est une couche d'interopérabilité Cgo et une bibliothèque de bindings natifs qui permet aux applications Go d'appeler les frameworks Apple et les API système. Il fonctionne comme un pont entre le runtime Go et les symboles natifs compatibles C pour faciliter la programmation système macOS et le développement d'applications natives. Le projet inclut un générateur de bindings Objective-C qui scanne les bases de données de symboles système pour produire du code source et des constantes Go. Cet outil permet l'inspection des symboles de framework et la gestion des modules de binding pour maintenir des interfaces à jour avec les frameworks natifs. La bibliothèque fournit un système de gestion mémoire pour coordonner les cycles de vie des objets natifs au sein de Go. Cela couvre l'utilisation du comptage de références, la création d'autorelease pools pour gérer les objets différés, et l'application de finaliseurs pour prévenir les fuites de mémoire. Il prend également en charge l'interaction directe avec le système d'exploitation via des appels système en binding direct et des requêtes d'informations noyau.

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

    Goappkitappleapple-apis
    Voir sur GitHub↗5,428
  • rust-lang/rust-bindgenAvatar de rust-lang

    rust-lang/rust-bindgen

    5,212Voir sur GitHub↗

    Rust-bindgen est un générateur de liaisons d'interface de fonction étrangère au moment de la construction et un analyseur d'en-têtes C conçu pour automatiser l'interopérabilité entre les langages. Il fonctionne comme un outil pour relier Rust aux bibliothèques C, C++ et Objective-C en produisant des déclarations spécifiques à la plateforme pendant le processus de compilation. Le projet se distingue par sa capacité à gérer des constructions de langage de la famille C complexes, y compris l'héritage et les méthodes C++, ainsi que les classes et protocoles Objective-C. Il garantit la compatibilité binaire entre différentes architectures en calculant les dispositions de mémoire sensibles à la cible et en validant que les tailles et alignements de structure générés correspondent aux définitions source originales. L'outil fournit un mappage de type étendu pour les unions C, les champs de bits et les membres de tableau flexibles, tout en mappant les types de bibliothèque standard intraduisibles ou complexes vers des blobs d'octets opaques. Il inclut un système de configuration pour filtrer les liaisons, substituer des types complexes et contrôler la dérivation de traits ou la visibilité des champs. Les liaisons générées peuvent inclure une documentation extraite des en-têtes système et sont traitées via un formateur standard pour garantir un style de code cohérent.

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

    Rustbindingscodegenffi
    Voir sur GitHub↗5,212
  • lwjgl/lwjgl3Avatar de LWJGL

    LWJGL/lwjgl3

    5,269Voir sur GitHub↗

    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
    Voir sur GitHub↗5,269
  • dotnet/silk.netAvatar de dotnet

    dotnet/Silk.NET

    4,907Voir sur GitHub↗

    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
    Voir sur GitHub↗4,907
  • bytedeco/javacppAvatar de bytedeco

    bytedeco/javacpp

    4,697Voir sur GitHub↗

    JavaCPP est un pont JNI C++ et une interface de fonction étrangère qui fournit un générateur de binding, un chargeur de bibliothèque native et un gestionnaire de mémoire native. Il automatise la création de wrappers Java autour des en-têtes C++ natifs et des bibliothèques partagées pour permettre l'interopérabilité entre les deux langages. Le projet dispose d'un générateur de binding C++ qui analyse les fichiers d'en-tête pour produire automatiquement le code de liaison et les interfaces nécessaires pour appeler des fonctions natives. Il inclut un chargeur de bibliothèque native qui localise et extrait les binaires spécifiques à la plateforme depuis le classpath vers un cache local pour l'exécution au runtime. Le système gère l'accès à la mémoire native haute performance via le mappage direct de pointeurs et le suivi des ressources pour prévenir les fuites de mémoire. Il gère le mappage de types complexes pour les structures de données C++ et prend en charge le mappage de rappels (callbacks) natifs pour lier des pointeurs de fonction aux méthodes Java. La boîte à outils permet le remplacement de méthodes gérées par des implémentations C++ ou assembleur pour optimiser le temps d'exécution et réduire la surcharge des ressources.

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

    Javacc-plus-pluscpp
    Voir sur GitHub↗4,697
  • eliben/pycparserAvatar de eliben

    eliben/pycparser

    3,473Voir sur GitHub↗

    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
    Voir sur GitHub↗3,473
  • wxwidgets/phoenixAvatar de wxWidgets

    wxWidgets/Phoenix

    2,618Voir sur GitHub↗

    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
    Voir sur GitHub↗2,618
  • intel/llvmAvatar de intel

    intel/llvm

    1,497Voir sur GitHub↗

    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
    Voir sur GitHub↗1,497
  1. Home
  2. Programming Languages & Runtimes
  3. Language Interoperability
  4. Native C Interoperability
  5. C Function Bindings
  6. Native Header Generators

Explorer les sous-tags

  • C Header Binding Generators4 sous-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.