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

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

14 repositorios

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

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • swiftlang/swift-evolutionAvatar de swiftlang

    swiftlang/swift-evolution

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

    shirou/gopsutil

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

    nasa/fprime

    10,766Ver en GitHub↗

    F Prime es un framework basado en componentes diseñado para el desarrollo y despliegue de software embebido y de vuelo espacial. Proporciona una arquitectura modular que desacopla la lógica del software de las interfaces de comunicación, permitiendo a los desarrolladores definir estructuras de sistema mediante un lenguaje de modelado específico del dominio. Este enfoque basado en modelos permite la generación automática de código, asegurando la consistencia en topologías de sistemas complejos mientras mantiene estrictos contratos de interfaz entre los módulos de software. El framework se distingue por su sistema de compilación integrado y su suite de operaciones de datos en tierra. Automatiza todo el ciclo de vida del software embebido, desde la compilación cruzada y la gestión de dependencias hasta la generación de interfaces de telemetría y comandos. Al proporcionar un entorno unificado tanto para el software de vuelo a bordo como para la monitorización en tierra, facilita la integración, las pruebas y el mando y control de sistemas embebidos distribuidos en diversas plataformas de hardware. Más allá de su arquitectura central, el proyecto incluye herramientas integrales para la observabilidad del sistema, incluyendo visualización de telemetría en tiempo real, registro de eventos y trazado de diagnóstico. Soporta una amplia gama de escenarios de despliegue, desde entornos bare-metal hasta sistemas operativos en tiempo real, y proporciona mecanismos para la gestión de memoria, modelado de comportamiento basado en estados y ejecución de tareas asíncronas. El proyecto se mantiene como un repositorio en C++ con documentación extensa y soporte de sistema de compilación para el desarrollo multiplataforma.

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

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

    JetBrains/kotlin-native

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

    swig/swig

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

    nanopb/nanopb

    5,437Ver en GitHub↗

    Nanopb es una implementación ligera en C de Protocol Buffers diseñada para sistemas con recursos limitados y microcontroladores. Funciona tanto como biblioteca de serialización embebida para codificar y decodificar datos estructurados, como generador de código que transforma archivos de definición en archivos fuente y de cabecera compactos en C. El proyecto se distingue por su enfoque en la asignación de memoria estática, utilizando tamaños máximos fijos para cadenas y arrays para evitar la asignación dinámica de memoria y la fragmentación del heap. Emplea un mecanismo de streaming basado en callbacks para procesar mensajes o campos que exceden la RAM física disponible, permitiendo el manejo de datos de longitud variable sin agotar la memoria del sistema. La biblioteca proporciona amplias capacidades para la serialización binaria, incluyendo cálculo de tamaño codificado, seguimiento de presencia de submensajes y framing a nivel de transporte. También incluye utilidades de reflexión para la iteración de campos, validación de cadenas UTF-8 y aplicación estricta de límites para garantizar la seguridad de la memoria al parsear entradas binarias no confiables.

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

    C
    Ver en GitHub↗5,437
  • progrium/darwinkitAvatar de progrium

    progrium/darwinkit

    5,428Ver en GitHub↗

    Darwinkit es una capa de interoperabilidad Cgo y librería de bindings nativos que permite a las aplicaciones Go llamar a frameworks de Apple y APIs del sistema. Funciona como un puente entre el runtime de Go y símbolos nativos compatibles con C para facilitar la programación del sistema macOS y el desarrollo de aplicaciones nativas. El proyecto incluye un generador de bindings de Objective-C que escanea bases de datos de símbolos del sistema para producir código fuente y constantes en Go. Esta herramienta permite la inspección de símbolos de framework y la gestión de módulos de binding para mantener interfaces actuales con frameworks nativos. La librería proporciona un sistema de gestión de memoria para coordinar ciclos de vida de objetos nativos dentro de Go. Esto cubre el uso de conteo de referencias, la creación de autorelease pools para manejar objetos diferidos y la aplicación de finalizadores para prevenir fugas de memoria. Además, admite la interacción directa con el sistema operativo a través de llamadas al sistema de binding directo y solicitudes de información del kernel.

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

    Goappkitappleapple-apis
    Ver en GitHub↗5,428
  • rust-lang/rust-bindgenAvatar de rust-lang

    rust-lang/rust-bindgen

    5,212Ver en GitHub↗

    Rust-bindgen es un generador de enlaces de interfaz de funciones extranjeras en tiempo de compilación y analizador de encabezados C diseñado para automatizar la interoperabilidad entre lenguajes. Funciona como una herramienta para unir Rust con librerías C, C++ y Objective-C produciendo declaraciones específicas de la plataforma durante el proceso de compilación. El proyecto se distingue por su capacidad para manejar construcciones de lenguaje de la familia C complejas, incluyendo herencia y métodos de C++, así como clases y protocolos de Objective-C. Asegura la compatibilidad binaria entre diferentes arquitecturas calculando diseños de memoria conscientes del objetivo y validando que los tamaños y alineaciones de las estructuras generadas coincidan con las definiciones de origen originales. La herramienta proporciona un mapeo de tipos extenso para uniones C, campos de bits y miembros de matriz flexibles, mientras mapea tipos de librería estándar complejos o intraducibles a blobs de bytes opacos. Incluye un sistema de configuración para filtrar enlaces, sustituir tipos complejos y controlar la derivación de rasgos o la visibilidad de campos. Los enlaces generados pueden incluir documentación extraída de los encabezados del sistema y se procesan a través de un formateador estándar para asegurar un estilo de código consistente.

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

    Rustbindingscodegenffi
    Ver en GitHub↗5,212
  • lwjgl/lwjgl3Avatar de LWJGL

    LWJGL/lwjgl3

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

    dotnet/Silk.NET

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

    bytedeco/javacpp

    4,697Ver en GitHub↗

    JavaCPP es un puente JNI C++ e interfaz de funciones extranjeras que proporciona un generador de bindings, un cargador de librerías nativas y un gestor de memoria nativa. Automatiza la creación de wrappers de Java alrededor de cabeceras C++ nativas y librerías compartidas para permitir la interoperabilidad entre ambos lenguajes. El proyecto cuenta con un generador de bindings C++ que analiza archivos de cabecera para producir automáticamente el código de pegamento (glue code) necesario y las interfaces para llamar a funciones nativas. Incluye un cargador de librerías nativas que localiza y extrae binarios específicos de la plataforma desde el classpath a una caché local para su ejecución en tiempo de ejecución. El sistema gestiona el acceso a memoria nativa de alto rendimiento mediante mapeo directo de punteros y seguimiento de recursos para prevenir fugas de memoria. Maneja el mapeo de tipos complejos para estructuras de datos C++ y soporta el mapeo de callbacks nativos para enlazar punteros de función a métodos de Java. El conjunto de herramientas permite el reemplazo de métodos gestionados con implementaciones en C++ o ensamblador para optimizar el tiempo de ejecución y reducir la sobrecarga de recursos.

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

    Javacc-plus-pluscpp
    Ver en GitHub↗4,697
  • eliben/pycparserAvatar de eliben

    eliben/pycparser

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

    wxWidgets/Phoenix

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

    intel/llvm

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

Explorar subetiquetas

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