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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

14 repository-uri

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

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • swiftlang/swift-evolutionAvatar swiftlang

    swiftlang/swift-evolution

    15,854Vezi pe 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
    Vezi pe GitHub↗15,854
  • shirou/gopsutilAvatar shirou

    shirou/gopsutil

    11,866Vezi pe 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
    Vezi pe GitHub↗11,866
  • nasa/fprimeAvatar nasa

    nasa/fprime

    10,766Vezi pe GitHub↗

    F Prime este un framework bazat pe componente, conceput pentru dezvoltarea și implementarea software-ului pentru sisteme embedded și zbor spațial. Acesta oferă o arhitectură modulară care decuplează logica software de interfețele de comunicare, permițând dezvoltatorilor să definească structurile sistemului printr-un limbaj de modelare specific domeniului. Această abordare bazată pe modele permite generarea automată de cod, asigurând consistența în topologii complexe de sistem, menținând în același timp contracte stricte de interfață între modulele software. Framework-ul se distinge prin sistemul său integrat de build și suita de operațiuni cu date la sol. Acesta automatizează întregul ciclu de viață al software-ului embedded, de la compilarea încrucișată și gestionarea dependențelor până la generarea interfețelor de telemetrie și comandă. Prin furnizarea unui mediu unificat atât pentru software-ul de zbor de la bord, cât și pentru monitorizarea la sol, facilitează integrarea, testarea și controlul sistemelor embedded distribuite pe diverse platforme hardware. Dincolo de arhitectura sa de bază, proiectul include instrumente cuprinzătoare pentru observabilitatea sistemului, inclusiv vizualizarea telemetriei în timp real, logarea evenimentelor și trasarea diagnosticelor. Acesta suportă o gamă largă de scenarii de implementare, de la medii bare-metal la sisteme de operare în timp real, și oferă mecanisme pentru gestionarea memoriei, modelarea comportamentului bazat pe stări și execuția asincronă a sarcinilor. Proiectul este menținut ca un depozit C++ cu documentație extinsă și suport pentru sistemul de build pentru dezvoltare multi-platformă.

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

    C++componentscppembedded
    Vezi pe GitHub↗10,766
  • jetbrains/kotlin-nativeAvatar JetBrains

    JetBrains/kotlin-native

    6,982Vezi pe 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
    Vezi pe GitHub↗6,982
  • swig/swigAvatar swig

    swig/swig

    6,294Vezi pe 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
    Vezi pe GitHub↗6,294
  • nanopb/nanopbAvatar nanopb

    nanopb/nanopb

    5,437Vezi pe GitHub↗

    Nanopb este o implementare C lightweight a Protocol Buffers, concepută pentru sisteme cu resurse limitate și microcontrollere. Aceasta funcționează atât ca bibliotecă de serializare încorporată pentru codificarea și decodificarea datelor structurate, cât și ca un generator de cod care transformă fișierele de definiție în fișiere sursă și header C compacte. Proiectul se distinge prin accentul pus pe alocarea statică a memoriei, utilizând dimensiuni maxime fixe pentru string-uri și array-uri pentru a evita alocarea dinamică a memoriei și fragmentarea heap-ului. Utilizează un mecanism de streaming bazat pe callback-uri pentru a procesa mesaje sau câmpuri care depășesc RAM-ul fizic disponibil, permițând gestionarea datelor de lungime variabilă fără a epuiza memoria sistemului. Biblioteca oferă capabilități largi pentru serializarea binară, inclusiv calcularea dimensiunii codificate, urmărirea prezenței submesajelor și framing la nivel de transport. Include, de asemenea, utilitare de reflexie pentru iterarea câmpurilor, validarea string-urilor UTF-8 și impunerea strictă a limitelor pentru a asigura siguranța memoriei la parsarea input-ului binar neverificat.

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

    C
    Vezi pe GitHub↗5,437
  • progrium/darwinkitAvatar progrium

    progrium/darwinkit

    5,428Vezi pe GitHub↗

    Darwinkit este un strat de interoperabilitate Cgo și o bibliotecă de binding-uri native care permite aplicațiilor Go să apeleze framework-uri Apple și API-uri de sistem. Acesta funcționează ca o punte între runtime-ul Go și simbolurile native compatibile cu C pentru a facilita programarea sistemului macOS și dezvoltarea de aplicații native. Proiectul include un generator de binding-uri Objective-C care scanează bazele de date de simboluri ale sistemului pentru a produce cod sursă Go și constante. Acest instrument permite inspectarea simbolurilor framework-ului și gestionarea modulelor de binding pentru a menține interfețe actualizate cu framework-urile native. Biblioteca oferă un sistem de gestionare a memoriei pentru coordonarea ciclurilor de viață ale obiectelor native în Go. Aceasta acoperă utilizarea numărării referințelor, crearea de autorelease pools pentru a gestiona obiectele amânate și aplicarea finalizatorilor pentru a preveni scurgerile de memorie. De asemenea, suportă interacțiunea directă cu sistemul de operare prin apeluri de sistem cu binding direct și cereri de informații despre kernel.

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

    Goappkitappleapple-apis
    Vezi pe GitHub↗5,428
  • rust-lang/rust-bindgenAvatar rust-lang

    rust-lang/rust-bindgen

    5,212Vezi pe GitHub↗

    Rust-bindgen este un generator de binding-uri pentru interfața de funcții străine (FFI) la momentul build-ului și un parser de headere C conceput pentru a automatiza interoperabilitatea între limbaje. Funcționează ca un instrument pentru a face legătura între Rust și bibliotecile C, C++ și Objective-C prin producerea de declarații specifice platformei în timpul procesului de compilare. Proiectul se distinge prin capacitatea sa de a gestiona constructe complexe ale limbajelor din familia C, incluzând moștenirea și metodele C++, precum și clasele și protocoalele Objective-C. Asigură compatibilitatea binară pe diferite arhitecturi prin calcularea layout-urilor de memorie conștiente de țintă și validarea faptului că dimensiunile și aliniamentele structurilor generate se potrivesc cu definițiile sursă originale. Instrumentul oferă mapare extinsă a tipurilor pentru uniuni C, bitfields și membri de tip array flexibili, mapând în același timp tipurile complexe sau netraductibile din biblioteca standard către blob-uri de octeți opace. Include un sistem de configurare pentru filtrarea binding-urilor, substituirea tipurilor complexe și controlul derivării trăsăturilor sau vizibilitatea câmpurilor. Binding-urile generate pot include documentație extrasă din headerele sistemului și sunt procesate printr-un formator standard pentru a asigura un stil de cod consistent.

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

    Rustbindingscodegenffi
    Vezi pe GitHub↗5,212
  • lwjgl/lwjgl3Avatar LWJGL

    LWJGL/lwjgl3

    5,269Vezi pe 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
    Vezi pe GitHub↗5,269
  • dotnet/silk.netAvatar dotnet

    dotnet/Silk.NET

    4,907Vezi pe 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
    Vezi pe GitHub↗4,907
  • bytedeco/javacppAvatar bytedeco

    bytedeco/javacpp

    4,697Vezi pe GitHub↗

    JavaCPP este o punte JNI C++ și o interfață de funcții străine (FFI) care oferă un generator de binding-uri, un încărcător de biblioteci native și un manager de memorie nativă. Automatizează crearea de wrappere Java în jurul header-elor C++ native și a bibliotecilor partajate pentru a permite interoperabilitatea între cele două limbaje. Proiectul dispune de un generator de binding-uri C++ care parsează fișierele header pentru a produce automat codul glue necesar și interfețele pentru apelarea funcțiilor native. Include un încărcător de biblioteci native care localizează și extrage binarele specifice platformei din classpath într-un cache local pentru execuția la runtime. Sistemul gestionează accesul la memorie nativă de înaltă performanță prin maparea directă a pointerilor și urmărirea resurselor pentru a preveni scurgerile de memorie. Gestionează maparea complexă a tipurilor pentru structurile de date C++ și suportă maparea callback-urilor native pentru a lega pointerii de funcții la metodele Java. Setul de instrumente permite înlocuirea metodelor gestionate cu implementări C++ sau assembly pentru a optimiza timpul de execuție și a reduce overhead-ul resurselor.

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

    Javacc-plus-pluscpp
    Vezi pe GitHub↗4,697
  • eliben/pycparserAvatar eliben

    eliben/pycparser

    3,473Vezi pe 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
    Vezi pe GitHub↗3,473
  • wxwidgets/phoenixAvatar wxWidgets

    wxWidgets/Phoenix

    2,618Vezi pe 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
    Vezi pe GitHub↗2,618
  • intel/llvmAvatar intel

    intel/llvm

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

Explorează sub-etichetele

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